将绝对路径指定为变量String pathname,如何使用Java类文件执行以下操作?据我所知,答案在括号中,请确认。
获取文件/目录的大小? (我不确定)
测试绝对路径是否会导致存在的东西? (File.exists(pathname),如果存在,则返回布尔值true,否则返回布尔值假)
看看这是一个文件还是目录? (File.isFile(pathname),如果路径名指向文件则返回布尔值true,否则返回false.file.isDirectory(pathname),如果路径名指向目录,则返回布尔值true,否则返回false)
看到修改的最后日期? (File.lastModified(pathname),返回一个已经有转换为特定日期的方法的长号
一个相关但又独立的问题:是否存在"文件",如.doc,.jpeg,.mpeg,.mp3,.xml,。*,它们将同时失败isFile和isDirectory测试?如果是这样,我如何区分空文件夹和文件夹isFile和isDirectory测试失败的文件夹?我问,因为在File类文档中,它为isFile声明了以下内容:测试此抽象路径名表示的文件是否是普通文件。如果文件不是目录,则该文件是正常的,此外,它还满足其他系统相关标准。由Java应用程序创建的任何非目录文件都保证是普通文件。
答案 0 :(得分:3)
File f = new File(path);
// Get size of file (not a directory though)
f.length();
// Check if file exists
f.exists();
// Check if file is directory
f.isDirectory();
// Check if file is file
f.isFile();
// Last modified date
f.lastModified();
如果你想要一个目录的大小,你必须在遍历你想要计算其大小的目录时组合这些方法,或者你可以在{{FileUtils
中使用第三方库。 3}}它有一个Apache Commons IO方法,显然也处理目录的大小。
答案 1 :(得分:0)
file.exists()
file.isFike()
答案 2 :(得分:0)
有什么东西是“文件”,比如.doc,.jpeg,.mpeg,.mp3,.xml,。*,它们都会失败isFile和isDirectory测试吗?
没有。这些都是常规文件。如果是文件,则会通过isFile
测试。
不是“普通文件”或目录的东西就像设备文件和命名管道文件。 java.io.File
无法准确区分这些......或符号链接。
如果您希望能够执行特定于操作系统的操作,请查看Java 7的java.nio.file
包,特别是Files
类。