将文本文件转换为Java列表<;字符串>;使用Commons或番石榴
使用Commons或Guava库将每行文本(来自文本文件)放入LinkedList(作为字符串对象)或其他集合的最优雅方式是什么 使用,您可以使用方法。这很简单:将文本文件转换为Java列表<;字符串>;使用Commons或番石榴,java,file,text,guava,apache-commons,Java,File,Text,Guava,Apache Commons,使用Commons或Guava库将每行文本(来自文本文件)放入LinkedList(作为字符串对象)或其他集合的最优雅方式是什么 使用,您可以使用方法。这很简单: List<String> lines = FileUtils.readLines(new File("...")); for (String line : lines) { System.out.println(line); } List lines=FileUtils.readLines(新文件(“…”); 用
List<String> lines = FileUtils.readLines(new File("..."));
for (String line : lines) {
System.out.println(line);
}
List lines=FileUtils.readLines(新文件(“…”);
用于(字符串行:行){
系统输出打印项次(行);
}
这可能就是你要找的
使用org.apache.commons.io.FileUtils
FileUtils.readLines(new File("file.txt"));
以下是如何使用:
List lines=Files.readLines(新文件(“myfile.txt”)、Charsets.UTF_8);
参考:
- 您可以使用番石榴:
Files.readLines(new File("myfile.txt"), Charsets.UTF_8);
或apache commons io:
FileUtils.readLines(new File("myfile.txt"));
我认为两者都同样优雅
根据您的具体使用情况,假设“默认编码”可能是个好主意,也可能不是。不管怎样,我个人认为GuavaAPI清楚地表明您正在对文件的编码进行假设是很好的
更新:
Java 7现在内置了以下内容:。您还必须显式指定字符集。它们非常相似,使用Commons IO时,看起来如下所示:
List<String> lines = FileUtils.readLines(new File("file.txt"), "UTF-8");
List lines=FileUtils.readLines(新文件(“File.txt”),“UTF-8”);
番石榴的主要优点是字符集的规格(无拼写错误):
List lines=Files.readLines(新文件(“File.txt”)、Charsets.UTF_8);
我不确定您是否只想知道如何通过Guava或Commons IO实现这一点,但由于Java 7可以通过Java.nio.file.Files.readAllLines(路径路径,字符集cs)
()
List allLines=Files.readAllLines(dir.toPath(),StandardCharsets.UTF_8);
由于这是Java SE的一部分,因此不需要向项目中添加任何额外的jar文件(Guava或Commons)。
IOUtils.lineIterator
是一个更好的选择,因为它不会将整个文件加载到内存中。
List<String> lines = FileUtils.readLines(new File("file.txt"), "UTF-8");
List<String> lines = Files.readLines(new File("file.txt"), Charsets.UTF_8);
List<String> allLines = Files.readAllLines(dir.toPath(), StandardCharsets.UTF_8);