2016-04-06 2 views
3

Я действительно новичок в Java, поэтому у меня возникли проблемы с этим. Поэтому в основном у меня есть текстовый файл, который выглядит следующим образом:Чтение текстового файла в arraylist

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

Как я могу создать ArrayList из текстового файла для каждой строки?

+2

Вы даже попробуйте что-нибудь перед отправкой запроса в stackoverflow? –

+0

Thankyou все так много !!!! – Audrey

+0

да, у меня есть весь мой код, если вы хотите его увидеть – Audrey

ответ

5

Прочтите файл и добавьте каждую строку в массивList. См., Например, код.

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

Thankyou так много! это помогло мне было указать, какой тип массива мне нужен, кроме этого идеального спасибо! – Audrey

+0

Ох Да. Я скучаю по этому . Сожалею. Можете ли вы принять этот ответ? <Нажмите на галочку, чтобы принять> –

0

Хотя ответ выше меня работает, вот еще один способ сделать это. Обязательно импортируйте java.util.Scanner.

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

Это поможет вам.

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(); 

Затем вы можете получить доступ к этим элементам в архаите.

0

Java 8 позволяет это сделать

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

Если вы знаете, как прочитать файл построчно, либо с помощью сканера или с помощью BufferedReader затем читает текстовый файл в ArrayList не трудно для вас. Все, что вам нужно сделать, это прочитать каждую строку и хранить, что в ArrayList, как показано в следующем примере:

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(); 

Только не забудьте закрыть BufferedReader как только вы сделали, чтобы предотвратить утечку ресурсов, так как вы не попробовать -with-resource statement

Смежные вопросы