2016-04-06 18 views
3

Ich bin wirklich neu in Java, also habe ich einige Schwierigkeiten, dies herauszufinden. Also im Grunde habe ich eine Textdatei, die wie folgt aussieht:Textdatei in Arraylist lesen

1:John:false 
2:Bob:false  
3:Audrey:false 

Wie kann ich eine Arraylist aus der Textdatei für jede Zeile erstellen?

+2

Versuchen Sie überhaupt etwas, bevor Sie eine Abfrage auf stackoverflow stellen? –

+0

Vielen, vielen Dank !!!! – Audrey

+0

ja ich habe ich alle meinen Code, wenn Sie es sehen wollen – Audrey

Antwort

5

Lesen Sie aus einer Datei und fügen Sie jede Zeile in ArrayList. Sehen Sie den Code zum Beispiel.

public static void main(String[] args) { 

     ArrayList<String> arr = new ArrayList<String>(); 
     try (BufferedReader br = new BufferedReader(new FileReader(<your_file_path>))) 
     { 

      String sCurrentLine; 

      while ((sCurrentLine = br.readLine()) != null) { 
       arr.add(sCurrentLine); 
      } 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 
+0

Vielen Dank! Dies half mir zu spezifizieren, welche Art von Array ich brauchte, anders als das perfekte Dankeschön! – Audrey

+0

Oh ja. Ich habe es verpasst . Es tut uns leid. Kannst du bitte diese Antwort akzeptieren?

0

Während die Antwort über mir funktioniert, hier ist eine andere Möglichkeit, es zu tun. Stellen Sie sicher, dass Sie java.util.Scanner importieren.

public static void main(String[] args) { 
    ArrayList<String> list = new ArrayList<String>(); 
    Scanner scan = new Scanner("YOURFILE.txt"); 
    while(scan.hasNextLine()){ 
     list.add(scan.nextLine()); 
    } 
    scan.close(); 
} 
0

Dies wird Ihnen helfen.

List<String> list = new ArrayList<String>(); 
BufferedReader reader = new BufferedReader(new FileReader("list.txt")); 
String line; 
while ((line = reader.readLine()) != null) { 
    list.add(line); 
} 
reader.close(); 

Dann können Sie auf diese Elemente in der Arraylist zugreifen.

0

Java-8 können Sie tun, um diese

String fileName = "c://lines.txt"; 
     List<String> list = new ArrayList<>(); 

     try (Stream<String> stream = Files.lines(Paths.get(fileName))) { 

      list = stream 
        .map(String::toUpperCase) 
        .collect(Collectors.toList()); 

     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     list.forEach(System.out::println); 
1

Wenn Sie wissen, wie Sie eine Datei Zeile für Zeile zu lesen, entweder durch Scanner oder mithilfe von BufferedReader dann eine Textdatei in Arraylist zu lesen ist für Sie nicht schwer. Alles, was Sie tun müssen, ist jede Zeile und speichern, die in Arraylist zu lesen, wie in folgendem Beispiel:

BufferedReader bufReader = new BufferedReader(new 
FileReader("file.txt")); 
ArrayList<String> listOfLines = new ArrayList<>); 
String line = bufReader.readLine(); while (line != null) 
{ 
    listOfLines.add(line); 
    line = bufReader.readLine(); 
} 
bufReader.close(); 

Denken Sie daran, die BufferedReader zu schließen, wenn Sie Ressource-Leck zu verhindern getan werden, wie Sie versuchen, nicht über -with-resource statement