我想获取一个txt文件,并按顺序将该文件的每一行作为ArrayList中的一个元素。我也不想在每一行的末尾加上“\ n”。我该怎么做呢?
答案 0 :(得分:3)
我发现了这个,可以用JDK7制作:
List<String> readSmallTextFile(String aFileName) throws IOException {
Path path = Paths.get(aFileName);
return Files.readAllLines(path, ENCODING);
}
并用
调用它ArrayList<String> foo = (ArrayList<String>)readSmallTextFile("bar.txt");
在此之后,您可以过滤列表“foo”中每行中不需要的字符。
答案 1 :(得分:1)
这需要三个简单的步骤: -
ArrayList<String>
你知道,我没有回答你的问题。我只是重新构思它,看起来像一个答案。
这就是while
循环条件的样子: -
Scanner scanner = new Scanner(yourFileObj);
while (scanner.hasNextLine()) {
// nextLine automatically strips `newline` from the end
String line = scanner.nextLine();
// Add your line to your list.
}
更新: -
由于您逐行阅读file
,因此最好使用BufferedReader
。如果您想解析 each
令牌并对其执行特殊操作,扫描程序会更好。
BufferedReader br = new BufferedReader(new FileReader("fileName"));
String line = null;
// readLine also doesn't include the newline in the line read
while ((line = br.readLine()) != null) {
//add your line to the list
}
答案 2 :(得分:1)
我更喜欢BufferedReader,它比Scanner更快
BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
阅读直至文件结尾
String line = br.readLine(); // read firt line
while ( line != null ) { // read until end of file (EOF)
// process line
line = br.readLine(); // read next line
}