java - 在下面的Java代码中,使用Apache FileUtils类有什么好处?

标签 java file-io apache-commons

我遇到了以下 Java 代码片段 ( source ),它用于读取文件中的最后行。它使用两个 Apache 库 - ReversedLinesFileReaderFileUtils 。这是:

ReversedLinesFileReader reader = new ReversedLinesFileReader(FileUtils.getFile(file));
String s = "";
while ((s = reader.readLine()) != null) {
    System.out.println(s);
}

但是我不明白的是,为什么我们不简单地将文件路径放入 ReversedLinesFileReader 的参数中,而是使用 FileUtils 类。

为什么我不能简单地说:

File someFile = new File("someFile.txt");
ReversedLinesFileReader reader = new ReversedLinesFileReader(  someFile ) ;

谢谢

最佳答案

... what is the advantage of using the Apache FileUtils class?

如果file只是一根弦,没有什么优势。调用getFile会打电话new File(file) ...在处理 file 的“var-args-ness”之后范围。因此,事实上,使用 getFile 会带来性能损失在这种情况下,具体 yield 为零。

如果fileString[] ,然后FileUtils.getFile(file)将字符串转换为文件路径。

<小时/>

Why Can't I simply say instead ...

假设fileString ,你可以,并且(IMO)你应该按照你的建议去做。

<小时/>

1 - 我见过人们在这种情况下争论说避免使用 java.io 是一个优势直接上课,但坦白说我不买。

关于java - 在下面的Java代码中,使用Apache FileUtils类有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35388264/

相关文章:

java - 自定义可拖动布局管理器

关于 fprintf 的 C 风格

java - 使用 Pump StreamHandler 将输出和错误写入日志文件

java - 如何在向文件添加更多行的同时动态添加 CSV header

java - 调试-ConfigurationUtils.locate() : base is null

java - 将可见性设置为 VISIBLE 时不显示进度条

java - Java中的时间常数?

java - 为什么当选择器使用text()节点测试时,Javax的XPath评估()方法不返回带有不间断空格的元素

java: 更改 ZipEntry 名称

c - 用户输入.txt文件搜索C