我写了一个简短的程序,它会找到我制作的文件并打印一些细节。它执行正常,但它无法检测文件大小或是否隐藏。 E.G。
file path: C:\temp\filetext.txt last modified: 0 file size: 0 Is file hidden?false
该文件确实存在于C上的临时文件夹中。我不确定问题是什么
public void Q1()
{
String fileName = "filetext.txt";
getFileDetails(fileName);
}
public void getFileDetails(String fileName)
{
String dirName = "C:/temp/";
File productsFile = new File(dirName + fileName);
long size = productsFile.length();
System.out.println("file path: " + productsFile.getAbsolutePath() + " last modified: " + productsFile.lastModified() + " file size: " + productsFile.length() + " Is file hidden?" + productsFile.isHidden());
}
答案 0 :(得分:2)
文件不需要物理文件。因此,即使它所代表的物理文件不存在/无法找到,您的File对象也可以存在。检查JavaDoc是否为length()
和lastModified()
,如果文件不存在,它们都返回0L
。因此,在调用其他方法之前,请确保将File对象链接到文件系统上的现有文件,方法是调用file.exists()
。