java - 如何在java中将txt行复制到ArrayList中?

标签 java text arraylist

我正在尝试读取文本并将其每一行保存到 ArrayList 的新元素中。无论如何,是否可以继续读取并添加到 ArrayList 中,直到它到达文件末尾或每当读取器找不到任何其他行可以读取时?

此外,什么最好用?扫描仪还是BufferedReader?

最佳答案

传统上,您会执行以下操作:

  • 创建 ScannerBufferedReader 的实例
  • 设置连续读取文件的条件(使用Scanner,通过scanner.hasNextLine();使用BufferedReader,有一点还有更多工作要做)
  • 从任一行获取下一行并将其添加到您的列表中。

但是,使用 Java 7 的 NIO 库,您根本不需要这样做。

您可以利用Files#readAllLines准确地完成您想要的事情;无需自己进行任何迭代。您必须提供文件路径和字符集(即 Charset.forName("UTF-8");),但其工作原理基本相同。

Path filePath = Paths.get("/path/to/file/on/system");
List<String> lines = Files.readAllLines(filePath, Charset.forName("UTF-8"));

关于java - 如何在java中将txt行复制到ArrayList中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36293372/

相关文章:

java - 按字母升序对列表进行排序

java - 我需要了解如何在不使用表单或导航/刷新页面的情况下将内容放入 session 中

python - TextGenRnn 将生成的文本保存到文件

jquery - 将文本添加到文本区域 - Jquery

android - 保存 Arraylist<Hashmap> 用于旋转后显示

java - 如何使用基本接口(interface)引用调用扩展接口(interface)函数?

java - 号码验证 : missing return statement

c++ - 在 C++ 中将彩色文本打印到控制台

java - 定义多维数组列表的容量

java - 读写对象链表