2016-06-09 3 views
-4

zur Verdeutlichung: der folgende Code protokolliert Daten aus dem Dateireader in ein Array. In dieser Situation muss ich die Anzahl der Zeilen kennen (ex 11). Ich möchte eine Array-Liste anstelle eines Arrays verwenden, damit ich die Anzahl der Indizes nicht vordefinieren muss.Wie protokolliere ich den Inhalt der Daten, die von einem FileReader in Java gelesen werden, in eine Array-Liste?

import java.io.*; 

public class ReadMyFile { 
    public static void main(String[] args) throws FileNotFoundException, IOException { 
    FileReader reader = new FileReader("data.txt"); 
    System.out.println("We have made a FileReader"); 

    char [] data = new char[11]; 
    reader.read(data); 
    for (int i = 0; i < data.length; i++) { 
     System.out.print(data[i]); 
    } 
    reader.close(); 
    } 
} 
+0

Können Sie diese Dokumentation zitieren und einen Link angeben? – ctomek

+1

1) Was "Orakeldokumentation"? 2) Was meinst du mit "nimmt grundlegende Arrays"? 3) Was hat ein 'FileReader' mit Arrays oder Listen oder was auch immer zu tun? – Seelenvirtuose

+0

Schleife durch und schreibe den Inhalt jedes Eintrags. Was ist nicht zu verstehen? Du brauchst keine spezielle Klasse, um Listen zu lesen. – redFIVE

Antwort

0

Sie können read() Methode anstelle von read(some_array) wie das verwenden:

List<Character> charList = new ArrayList<>() 
char c; 
while ((c = reader.read()) != -1) { 
    charList.add(c); 
} 

read() liest ein Zeichen, so dass Sie eine Schleife erstellen und Zeichen nacheinander gelesen und nach jedem Zeichen lesen können Sie fügen hinzu, dass Zeichen zu einer Liste. Wenn keine weiteren Zeichen zu lesen sind, gibt read() -1 zurück und beendet eine Schleife.

Verwandte Themen