Filereader funktioniert nicht! Fehlersuche

Status
Nicht offen für weitere Antworten.

Sensewell

Mitglied
Hallo Leute,


hab mal wieder ein Problem was ich eifnach nicht lösen kann.
Ich habe eine eigene Methode geschrieben:


Code:
public static boolean readAlias(String dateiname,String alias)
			throws IOException {
		BufferedReader checkAlias = new BufferedReader(new FileReader(dateiname
				+ ".txt"));
		boolean check = true;
		String checker = null;
		while (checkAlias.readLine() != null) {
			checker = checkAlias.readLine();
			if (checker.equals(alias)) {
				check = false;
				break;
			}

		}
		return check;

	}


Die Methode rufe ich in einer Main auf:

Code:
boolean checkAlias = false;
		String alias= null;
		while (!checkAlias){
		alias = IOTools
				.readString("Bitte wählen Sie einen Alias(Dieser ist für den Login erforderlich) : ");
		
		
		//Filereader.readAlias("Konto\\Verwaltung\\Aliasse\\aliasse", alias);
		if(Filereader.readAlias("Konto\\Verwaltung\\Aliasse\\aliasse", alias) == false){
			System.out.println("Der Alias ist bereits vergeben!");
			
		}
		else {
			
			Filewriter.writer("Konto\\Verwaltung\\Aliasse\\aliasse", alias);
			
		}



Zum Hintergrund. Ich schreibe bei einer neuen Kontoerstellung den Alias in das textfile: aliasse.txt . Sollte nun ein neues Konto mit dem gleichen Alias erstellt werden soll dies mit:
Code:
System.out.println("Der Alias ist bereits vergeben!");
ausgeben werden.

Nur klappt das leider einfach nicht. und ich bekomme eine NullPointException. könnt ihr mir weiterhelfen?es ging schon so weit dass er den alias bei erstellung in das file geschrieben hat. jedoch bei einer neuen anlegung eines neuen Kontos konnte der Namen wieder gewählt werden.


LG,

Sensewell
 

Der Müde Joe

Top Contributor
Code:
while (checkAlias.readLine() != null) { 

//sollte

while( (checker = buffReader.readLine()) !=  null ) {

//sein

EDIT:
sonst liest du ja 2 Zeilen pro durchgang
 

Sensewell

Mitglied
Es funktioniert trotzdem nicht. Immernoch:

Bitte wählen Sie einen Alias(Dieser ist für den Login erforderlich) : test123
Exception in thread "main" java.lang.NullPointerException
at Filereader.readAlias(Filereader.java:30)
at Verwaltung.setData(Verwaltung.java:134)
at Verwaltung.showKonten(Verwaltung.java:96)
at Verwaltung.showInstitut(Verwaltung.java:76)
at Verwaltung.main(Verwaltung.java:243)
 

Sensewell

Mitglied
An Zeile 8 lag es wohl. nur leider schreibt er mir jetzt beim 2. mal den neuen alias über den alten. das sollte nicht sein. Sondern in die näcste zeile den neuen.

LG,

und danke für deine Hilfe!
 

Sensewell

Mitglied
Ich adde mal meinen filewriter hinzu den ich benutze wenn ich ein 2. Alias in die Datei schreibe:


Code:
	static void writerNewLine(String dateiname, String text) throws IOException {
		BufferedWriter neuerWriter = new BufferedWriter(new FileWriter(
				dateiname + ".txt"));
		neuerWriter.newLine();
		neuerWriter.write(text);
		neuerWriter.close();

	}

}


wenn ich diesen nun aufrufe und den neuen Alias dazuschreiben will dann überschreibt er mir den alten Alias.bzw geht in die 2. Zeile und schreibt den neuen rein aber der alte ist nicht mehr da.


LG
 

Der Müde Joe

Top Contributor
mfg

Code:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class X {

	public static boolean hasAliasInFile(File file, String alias)
			throws IOException {
		BufferedReader reader = new BufferedReader(new FileReader(file));
		String checker = null;
		while ((checker = reader.readLine()) != null) {
			if (checker.equals(alias)) {
				return true;
			}
		}
		return false;
	}

	public static void appendToFile(File file, String text) throws IOException {
		String lineseperator = System.getProperty("line.separator");
		FileWriter fstream = new FileWriter(file, true);
		BufferedWriter out = new BufferedWriter(fstream);
		// newline
		out.write(lineseperator);
		out.write(text);
		out.close();
	}

	public static void main(String[] args) throws IOException {
		File file = new File("test.txt");

		System.out.println(X.hasAliasInFile(file, "test"));
		X.appendToFile(file, "abc");
	}
}

EDIT:
hab noch ein wenig geändert...hasAliasInFile gibt true zutück, wenn es existiert!
EDIT2:
eigentlich sollte man der Reader auch schliessen. also noch reader.close() vor beide return
 

Sensewell

Mitglied
also ich habs genauso gemacht wie bei dir: nur er schreibt trotzdem keine neue Zeile: nun mal der gesamte code:
Code:
static void writerNewLine(String dateiname, String text) throws IOException {
		String lineseperator = System.getProperty("line.separator"); 
		BufferedWriter neuerWriter = new BufferedWriter(new FileWriter(
				dateiname + ".txt"));
		neuerWriter.write(lineseperator);
	    neuerWriter.write(text);
	    neuerWriter.close();
		
	}

Code:
public static boolean readAlias(String dateiname,String alias)
			throws IOException {
		BufferedReader checkAlias = new BufferedReader(new FileReader(dateiname
				+ ".txt"));
		String checker = null;
		 while ((checker = checkAlias.readLine()) != null) {
		    if (checker.equals(alias)) {
		       return true;
		    }
		 }
		 return false;
		} 
	}


ausführender Code:

Code:
boolean checkAlias = false;
		String alias= null;
		while (!checkAlias){
		alias = IOTools
				.readString("Bitte wählen Sie einen Alias(Dieser ist für den Login erforderlich) : ");
		
		
		
		if(Filereader.readAlias("Konto\\Verwaltung\\Aliasse\\aliasse", alias) == true){
			System.out.println("Der Alias ist bereits vergeben!");
			checkAlias = false;
		}
		else {
			
			Filewriter.writerNewLine("Konto\\Verwaltung\\Aliasse\\aliasse", alias);
			checkAlias =true;
		}
		}


Datei Inhalt nach 2. Alias setzen wieder gelöscht.....

Ich verzweifle...
 

Der Müde Joe

Top Contributor
Diese Zeilen sind wichtig:

Code:
		FileWriter fstream = new FileWriter(file, true);
		BufferedWriter out = new BufferedWriter(fstream);

so wird ans File appendet und nicht überschrieben

Ein kleines Beispiel:

Code:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class X {

	public static boolean hasAliasInFile(File file, String alias)
			throws IOException {
		BufferedReader reader = new BufferedReader(new FileReader(file));
		String checker = null;
		while ((checker = reader.readLine()) != null) {
			if (checker.equals(alias)) {
				reader.close();
				return true;
			}
		}
		reader.close();
		return false;
	}

	public static void appendToFile(File file, String text) throws IOException {
		String lineseperator = System.getProperty("line.separator");
		//WICHTIG!! true = append 
		FileWriter fstream = new FileWriter(file, true);
		BufferedWriter out = new BufferedWriter(fstream);
		// newline
		out.write(lineseperator);
		out.write(text);
		out.close();
	}

	public static void main(String[] args) throws IOException {
		File file = new File("test.txt");
		file.createNewFile();
		
		Scanner scanner = new Scanner(System.in);
		
		while(true){
			System.out.println("Wähle alias: ");
			String alias = scanner.nextLine();
			
			if(X.hasAliasInFile(file, alias)) {
				System.out.println("Sorry. wähle anderen");
				continue;
			} else {
				X.appendToFile(file, alias);
			}
			
		}
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D FileWriter / FileReader Problem Java Basics - Anfänger-Themen 10
S Mit FileReader lesen, in ArrayList speichern Java Basics - Anfänger-Themen 4
T filereader , file aus programm einlesen Java Basics - Anfänger-Themen 12
W FileReader - Bitte um Erklärung Java Basics - Anfänger-Themen 7
L FileReader Java Basics - Anfänger-Themen 7
L FileReader Java Basics - Anfänger-Themen 2
D Hilfe bei FileReader und BufferedReader Java Basics - Anfänger-Themen 2
Y Datei mit relativem Dateipfad per FileReader aus .JAR heraus auslesen Java Basics - Anfänger-Themen 4
A FileReader Problem Java Basics - Anfänger-Themen 14
D JFileChooser & FileReader Java Basics - Anfänger-Themen 4
L Input/Output FileReader Pfadangabe Java Basics - Anfänger-Themen 7
L While-Schleife und filereader Java Basics - Anfänger-Themen 5
L FileReader und Filewriter Java Basics - Anfänger-Themen 4
F wo datei für filereader ablegen? Java Basics - Anfänger-Themen 11
M FileReader Zeilenangabe Java Basics - Anfänger-Themen 22
L RandomAcessFile getFilePointer in normalen FileReader Java Basics - Anfänger-Themen 4
H OOP FileReader Einleseergebnis Java Basics - Anfänger-Themen 5
R Von wo nimmt der FileReader seine daten Java Basics - Anfänger-Themen 7
J fileReader: wird dateipfad benötigt? Java Basics - Anfänger-Themen 8
Burny91 FileReader und Writer gleichzeitg nutzen Java Basics - Anfänger-Themen 2
Burny91 FileReader / FileWriter / BufferedWriter An einer bestimmten Zeile String ersetzten Java Basics - Anfänger-Themen 2
F FileReader Frage Java Basics - Anfänger-Themen 3
M Frage zur Klasse FileReader Java Basics - Anfänger-Themen 6
G Character-orientierte File-Streams mit der Klasse FileReader Java Basics - Anfänger-Themen 5
Hamstinator Frage zu BufferedReader/FileReader Java Basics - Anfänger-Themen 4
F FileReader Methode Read() int? Java Basics - Anfänger-Themen 2
calzone FileReader, lesen ohne die Datei zu überschreiben? Java Basics - Anfänger-Themen 3
K FileReader Systempfad Mac Java Basics - Anfänger-Themen 11
hdi FileReader / BufferedReader langsam? Java Basics - Anfänger-Themen 3
A Filereader - An den Anfang des File springen Java Basics - Anfänger-Themen 2
N Pfad und FileReader? Java Basics - Anfänger-Themen 2
K Problem mit .toString und FileReader Java Basics - Anfänger-Themen 2
G filereader Java Basics - Anfänger-Themen 5
G zusätzliche "" bei Pfadangabe z.B. bei FileReader Java Basics - Anfänger-Themen 2
B Problem mit Filereader und filewriter Java Basics - Anfänger-Themen 20
H IOException bei FileReader Java Basics - Anfänger-Themen 3
P BufferedReader / FileReader Key und Values Java Basics - Anfänger-Themen 7
K FileReader BufferedReader & Arrays Java Basics - Anfänger-Themen 14
D Wie funktionieren FileReader Java Basics - Anfänger-Themen 6
M FileReader.read(char[]) - Größe des Arrays? Java Basics - Anfänger-Themen 4
R FileInputStream.read() != FileReader.read(). Pls Help Java Basics - Anfänger-Themen 5
S FileReader-Problem Java Basics - Anfänger-Themen 2
G Textdatei auslesen - Text anfügen - FileReader Java Basics - Anfänger-Themen 18
G FileReader Java Basics - Anfänger-Themen 10
P FileReader Java Basics - Anfänger-Themen 2
V filereader soll aus config.txt pfade lesen Java Basics - Anfänger-Themen 6
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
T % funktioniert nicht Java Basics - Anfänger-Themen 2
D e(fx)clipse installieren funktioniert nicht Java Basics - Anfänger-Themen 3
D GPIO Nutzung mit Pi4J Library auf Raspberry funktioniert nicht Java Basics - Anfänger-Themen 3
F Java GUI-PaintComponent funktioniert nicht Java Basics - Anfänger-Themen 1
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
L hilfe run button funktioniert nicht Java Basics - Anfänger-Themen 13
I Array funktioniert nicht. Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben