Ich habe eine Textdatei, und wenn ich jede Zeile der Datei lesen und in Array schreiben. Ich möchte prüfen, ob das Zeichen kein Dollarzeichen '$' ist. Wenn ja, dann Springe zum nächsten Zeichen und schreibe den folgenden Teil bis zum nächsten Dollarzeichen im nächsten Array. Daher, um jede Zeile in 3 Teile zu teilen, jedes Teil in einem anderen Array.Überprüfen jedes Zeichen aus der Textdatei, Java
Schätzen Sie Ihre Zeit und Hilfe!
public void retrieveFromTxt() throws IOException
{
textArea.setText(" ");
String fileName = "Name_Of_City.txt";
String line = " ";
String entry = null;
y = 0;
char letter = '$', value = ' ';
FileReader fileReader = new FileReader(fileName);
BufferedReader br1 = new BufferedReader(fileReader);
String TextLine = br.readLine();
x = 1; // Random Variable to jump from character to character in array.
// To Get Values Back from FIle Each value in correct array, I seperated each value with "$" sign
// Checking each letter and printing it to array[y] possition until the $ sign is met, then jump over it and continue in other array.
try {
while(y < 19) {
while(TextLine != null) {
while(TextLine.charAt(x)!=(letter)) {
line = line + TextLine.charAt(x);
Country[y] = (line );
x++;
}
}
while(TextLine != null) {
while(TextLine.charAt(x)!=(letter)) {
line = line + TextLine.charAt(x);
City[y] = (line );
x++;
}
}
while((line = br1.readLine()) != null) {
while(line.charAt(x)!=(letter)) {
Population[y] = (textArea.getText()+ entry);
x++;
}
}
y++;
textArea.setText(textArea.getText()+ "\n");
}
}
catch(FileNotFoundException error) {
//Exception can be met if program cannot find the file , in that case messageDialog will pop up with help message
JOptionPane.showMessageDialog(null,"Missing file"+", " + fileName + ", for a support contact [email protected]!") ;
}catch (StringIndexOutOfBoundsException err){}
br1.close();
}
}
was haben Sie bisher versucht? Wenn nicht, sollten Sie in den String Tokenizer schauen – zython
Anscheinend erwarten Sie, dass jede Zeile drei Teile hat, obwohl dies nicht klar ist, weil Sie uns keine Beispieleingabe gaben. Sie können vielleicht mit dem Aufspalten von '$' durchkommen. –
@zython: Pro Leute, die Java erstellen und pflegen, das ist ein schlechter Rat. Nach der [StringTokenizer API] (http://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html): '" StringTokenizer ist eine Legacy-Klasse, die aus Kompatibilitätsgründen beibehalten wird, obwohl sie verwendet wird Es wird empfohlen, dass jeder, der diese Funktionalität sucht, stattdessen die Split-Methode von String oder das Paket java.util.regex verwendet. " –