Java将文件读入ArrayList?
在 Java 中如何将文件内容读取到 ArrayList
以下是文件内容:
cat
house
dog
.
.
.
How do you read the contents of a file into an ArrayList<String>
in Java?
Here are the file contents:
cat
house
dog
.
.
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
此 Java 代码读取每个单词并将其放入 ArrayList:
如果需要,请使用
s.hasNextLine()
和s.nextLine()
逐行阅读而不是逐字阅读。This Java code reads in each word and puts it into the ArrayList:
Use
s.hasNextLine()
ands.nextLine()
if you want to read in line by line instead of word by word.您可以使用:
来源:Java API 7.0
You can use:
Source: Java API 7.0
与 commons-io 的单行:
与 番石榴:
A one-liner with commons-io:
The same with guava:
我发现的最简单的形式是......
Simplest form I ever found is...
在Java 8中,您可以使用流和
Files.lines
:或者作为包括从文件系统加载文件的函数:
In Java 8 you could use streams and
Files.lines
:Or as a function including loading the file from the file system:
例如,您可以通过这种方式执行此操作(带有异常处理的完整代码):
You can for example do this in this way (full code with exceptions handlig):
这是一个对我来说非常有效的解决方案:
如果你不想空行,你也可以这样做:
Here's a solution that has worked pretty well for me:
If you don't want empty lines, you can also do:
分享一些分析信息。通过简单的测试,读取大约 1180 行值需要多长时间。
如果您需要非常快地读取数据,请使用旧的 BufferedReader FileReader 示例。我花了大约 8 毫秒
扫描仪要慢得多。花了我大约 138 毫秒
不错的 Java 8 Files.lines(...) 是最慢的版本。我花了大约 388 毫秒。
To share some analysis info. With a simple test how long it takes to read ~1180 lines of values.
If you need to read the data very fast, use the good old BufferedReader FileReader example. It took me ~8ms
The Scanner is much slower. Took me ~138ms
The nice Java 8 Files.lines(...) is the slowest version. Took me ~388ms.
这是一个完整的程序示例:
Here is an entire program example:
列表.add(scr.next());
}
/*上面的代码负责在add函数的帮助下向arraylist添加数据*/
list.add(scr.next());
}
/*above code is responsible for adding data in arraylist with the help of add function */
添加此代码对文本文件中的数据进行排序。
Collections.sort(列表);
Add this code to sort the data in text file.
Collections.sort(list);