如何将从java中的FileReader读取的数据内容记录到数组列表中?

时间:2016-06-09 18:16:53

标签: java arraylist filereader

澄清:下面的代码将文件读取器中的数据记录到数组中。在这种情况下,我必须知道行数(例11)。我想使用数组列表而不是数组,这样我就不会强制预定义索引数。

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

1 个答案:

答案 0 :(得分:0)

您可以使用read()方法代替read(some_array)

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

read()读取一个字符,这样您就可以创建一个循环并逐个读取字符,在读完每个字符后,您可以将该字符添加到列表中。当没有更多字符要读取read()时返回-1并终止循环。