2017-10-04 87 views
0

所以我想将我读入的文件存储到一个数组中,但我不知道如何。我试图使用ArrayList,但是当我在控制台编译它,我不这是不一样的文本文件如何将整个文件存储到数组中?

这是我的代码

public static void main(String[] args) { 

    BufferedReader br = null; 
    FileReader fr = null; 
    String line = null; 
    ArrayList<String> list = new ArrayList<String>(); 

    try { 
     fr = new FileReader("sample.txt"); 
     br = new BufferedReader(fr); 

     while ((line = br.readLine()) != null) { 

      list.add(line); 
      line = br.readLine(); 

      for(String s : list){ 
       System.out.println(s); 
      } 

     } 
    } catch (IOException e) { 

     e.printStackTrace(); 
    } 


} 
+1

你从某处复制了这段代码吗?提示:真正的编程不是复制和粘贴。 –

+1

不,我自己做了这个... – pteran

+0

好吧...是的..我现在明白了。 –

回答

1

它看起来像你对我”在添加到ArrayList之后,通过在while条件中添加line = br.readLine()来重新提升文件在文件中的位置。另外,在处理完整个文件而不是while循环之前,是否有一个原因是要输出内容?

+0

我通常不使用Java,但我最初的直觉是这不应该在循环中手动完成。做了一点检查并确认http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#readAllLines%28java.nio.file.Path,%20java。 nio.charset.Charset%29将在一个单一的,已经测试过的,更可读的代码行中完成你所需要的 –

相关问题