在下面的 Java 代码中,使用 Apache FileUtils class 的优势是什么?
In the following Java code, what is the advantage of using the Apache FileUtils class?
我遇到了以下 Java 代码片段(source ), that is used to read the last line in a file. It uses two Apache libraries - ReversedLinesFileReader and FileUtils。这是:
ReversedLinesFileReader reader = new ReversedLinesFileReader(FileUtils.getFile(file));
String s = "";
while ((s = reader.readLine()) != null) {
System.out.println(s);
}
然而,我不明白的是,为什么我们不简单地将文件路径放入 ReversedLinesFileReader 的参数中,而是使用 FileUtils class。
为什么我不能直接说:
File someFile = new File("someFile.txt");
ReversedLinesFileReader reader = new ReversedLinesFileReader( someFile ) ;
感谢
使用文件就可以了。 ReversedLinesFileReader 有一个接受文件作为输入的构造函数。
您使用 FileUtils 的原因是如果您可以从 FileUtils.getFile() 重载方法提供的功能中受益,例如传递路径元素的 String[] 等。
除此之外,没有区别。
... what is the advantage of using the Apache FileUtils class?
如果file
只是一串,没有优势。对 getFile
的调用将调用 new File(file)
... 在胡乱处理 file
参数的 "var-args-ness" 之后。所以实际上,在这种情况下使用 getFile
会造成 性能损失 ,具体 1 收益为零。
如果 file
是 String[]
,则 FileUtils.getFile(file)
将字符串转换为文件路径。
Why Can't I simply say instead ...
假设 file
是 String
,你可以,而且 (IMO) 你应该按照你的建议去做。
1 - 我看到有人在这种情况下争论说避免直接使用 java.io
类 是一个优势,但坦率地说我不相信.
我遇到了以下 Java 代码片段(source ), that is used to read the last line in a file. It uses two Apache libraries - ReversedLinesFileReader and FileUtils。这是:
ReversedLinesFileReader reader = new ReversedLinesFileReader(FileUtils.getFile(file));
String s = "";
while ((s = reader.readLine()) != null) {
System.out.println(s);
}
然而,我不明白的是,为什么我们不简单地将文件路径放入 ReversedLinesFileReader 的参数中,而是使用 FileUtils class。
为什么我不能直接说:
File someFile = new File("someFile.txt");
ReversedLinesFileReader reader = new ReversedLinesFileReader( someFile ) ;
感谢
使用文件就可以了。 ReversedLinesFileReader 有一个接受文件作为输入的构造函数。
您使用 FileUtils 的原因是如果您可以从 FileUtils.getFile() 重载方法提供的功能中受益,例如传递路径元素的 String[] 等。
除此之外,没有区别。
... what is the advantage of using the Apache FileUtils class?
如果file
只是一串,没有优势。对 getFile
的调用将调用 new File(file)
... 在胡乱处理 file
参数的 "var-args-ness" 之后。所以实际上,在这种情况下使用 getFile
会造成 性能损失 ,具体 1 收益为零。
如果 file
是 String[]
,则 FileUtils.getFile(file)
将字符串转换为文件路径。
Why Can't I simply say instead ...
假设 file
是 String
,你可以,而且 (IMO) 你应该按照你的建议去做。
1 - 我看到有人在这种情况下争论说避免直接使用 java.io
类 是一个优势,但坦率地说我不相信.