2017-05-07 11 views
0

Ich bin derzeit codieren eine Java-Anwendung für mich und meine Freunde und ich bin ein großes Problem ... Wenn ich versuche, eine TXT-Datei zu lesen, druckt es die Zeilen mit seltsamen Zeichen und jeder Buchstabe ist durch einen weißen Raum getrennt. ich mit mehreren txt-Dateien in verschiedenen Ordnern tryed und ich drucke die gleiche Sache jedes Mal ... (Ich habe versucht, den Code mit einem Scanner und einem BufferedReader zu machen und es ist immer noch das gleiche ProblemJava Leerzeichen zwischen jedem Zeichen in Datei lesen

Hier ist mein Code:

Hier
   BufferedReader br = new BufferedReader(new FileReader(_file)); 

       String website = ""; 
       String username = ""; 
       String password = ""; 
       int usedTimes = 0; 

       String currentLine; 
       while ((currentLine = br.readLine()) != null) { 

        if(currentLine.startsWith("Web Site")) website = currentLine.split(":")[1]; 
        else if(currentLine.startsWith("User Name")) username = currentLine.split(":")[1]; 
        else if(currentLine.startsWith("Password")) password = currentLine.split(":")[1]; 
        else if(currentLine.startsWith("Password Use Count")) 
        { 
         usedTimes = Integer.parseInt(currentLine.split(":")[1]); 
         passwords.add(new Password(website, username, password, usedTimes)); 

         website = ""; 
         username = ""; 
         password = ""; 
         usedTimes = 0; 
        } 
       } 
       br.close(); 

ist ein Beispiel für die Ausgabe: (ich kann nicht copy/paste die Ausgabe so stelle ich ein Bild) enter image description here

also, wenn jemand von euch die Antwort weiß, mir bitte sagen, es wäre toll,

!

Vielen Dank für das Lesen bis hier! Julien.

+0

Sie haben keinen Code angezeigt, der etwas ausgibt. Bitte zeigen Sie uns, wo die Ausgabe gemacht wird. – Marvin

+0

Oh ja ich habe gerade eine system.out.println (currentLine) hinzugefügt; unter der Leitung Linie – Julien

Antwort

0

Es könnte ein Codierproblem sein. Sie müssen die Textdateicodierung prüfen, und dann müssen Sie versuchen, wie folgt: BufferedReader r = neuer BufferedReader (neuer InputStreamReader ("ISO-XXXXX"))

+0

Oh danke, aber ich verstehe nicht, wo ich es platzieren muss? So, – Julien

+0

BufferedReader br = neuer BufferedReader (neuer FileReader (_file), neuer InputStreamReader ("ISO-XXXXX")); – Julien

+0

Ersetzen Sie dies einfach durch Ihre BufferedReader-Variablendeklaration BufferedReader reader = neuer BufferedReader (neuer InputStreamReader (neuer FileInputStream (_file), "ISO-XXXXX")); Aber vergessen Sie nicht, zuerst die Kodierung der Textdatei zu überprüfen und statt "ISO-XXXXX" zu verwenden –

Verwandte Themen