2016-06-07 7 views
0

lesen Wie ich bestimmte Daten in javaWie ich spezifische Daten in Java

New wie die lesen kann ID Benutzername und Passwort Ich schreibe in Datei Text: Ich

Passwort

Wie: Benutzername Kann diese Daten bitte lesen? Und mein Programm knews diese Benutzername und das Passwort

+0

können Sie mir sagen genaue Format der in der Datei geschriebenen Daten, mit einigen Beispiel – pbajpai21

+0

ich Daten wie die ID schreiben: user : pass Ich möchte Code lesen, und setzen Sie Benutzer in veritable Benutzer und übergeben in veribale übergeben – Kamal

+0

Lesen Sie die gesamte Zeile in eine Zeichenfolge, dann verwenden Sie String.split (":") -Methode, um die Zeichenfolge in ein Array von Strings zu teilen. – mdewit

Antwort

1

Wenn ich richtig verstehe, ist der einfachste Weg, um die Textdatei zu lesen und analysiert sie in Variablen entsprechend wie folgt:

BufferedReader br = new BufferedReader(new FileReader("file.txt")); 
try { 
    StringBuilder sb = new StringBuilder(); 
    String line = br.readLine(); 
    while (line != null) { 
     sb.append(line); 
     sb.append(System.lineSeparator()); 
     line = br.readLine(); 
    } 
    String text= sb.toString(); 
    String parts = text.split(":") 
    String id= parts[0] 
    String username = parts[1] 
    String pass = parts[2] 
} finally { 
    br.close(); 
} 
+0

Wenn mehrere Einträge vorhanden sind, wird StringBuilder sie alle zusammen verbinden, was bedeutet, dass die Methode immer nur den ersten Eintrag lesen wird – JD9999

0

Wenn es nur ein Eintrag Sie können den folgenden Code verwenden, der der ersten Antwort ziemlich ähnlich ist, aber ohne den StringBuilder-Kram.

try { 
    BufferedReader reader = new BufferedReader(new FileReader(new File("file.txt"))); 
    String line = reader.readLine(); 
    String[] parts = line.split(":"); 
    String id = parts[0]; 
    String username = parts[1]; 
    String password = parts[2]; 
    //Do stuff with it 
}catch(IOException e){ 
    e.printStackTrace(); 
} 

jedoch, wenn mehrere Einträge vorhanden sind, sollten Sie NIO verwenden:

try{ 
    List<String> filecontents = Files.readAllLines(new File("file.txt")); 
    for(int i = 0; i < filecontents.size(); i++){ 
     String line = filecontents.get(i); 
     String[] parts = line.split(":"); 
     String id = parts[0]; 
     String username = parts[1]; 
     String password = parts[2]; 
     //Do stuff with it 
    } 
}catch(IOException e){ 
    e.printStackTrace(); 
} 
+0

Die Datei hatte mehrzeilige ... Id1: user1: pass1 ... ... Id2: user2: pass2 .... – Kamal

+0

dann verwenden Sie das zweite Stück Code – JD9999

Verwandte Themen