在以下Java代码中,使用Apache FileUtils类的优势是什么?

时间:2016-02-14 04:11:06

标签: java file-io apache-commons

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

Update account_vip SET ALLTime = ALLTime - 1 WHERE ALLTime > 0

然而,我不理解的是,为什么我们不简单地为ReversedLinesFileReader放入参数的文件路径,而是使用FileUtils类。

为什么我不能简单地说:

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

谢谢

2 个答案:

答案 0 :(得分:3)

  

...使用Apache FileUtils类有什么好处?

如果getFile只是一个字符串,则没有任何优势。拨打new File(file)之后,我会打电话给file ......在应对" var-args-ness" getFile参数的。事实上,在这种情况下使用file会产生性能损失,因为零具体 1 的好处。

如果String[]FileUtils.getFile(file),则file会将字符串转换为文件路径。

  

为什么我不能简单地说......

假设Stringjava.io,你可以和(IMO)你应该做你提出的建议。

1 - 我看到人们在这样的案例中争辩说避免直接使用{{1}}课程是有利的,但坦率地说我不会购买它。 < / p>

答案 1 :(得分:1)

使用文件很好。 ReversedLinesFileReader有一个构造函数,它接受File作为输入。

你将使用FileUtils的原因是你可以从FileUtils.getFile()重载方法提供的内容中获益,比如传递路径元素的String []等。

除此之外,没有区别。