Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 代码找不到我的文件_Java_File - Fatal编程技术网

Java 代码找不到我的文件

Java 代码找不到我的文件,java,file,Java,File,我写了一个简短的程序,可以找到我制作的文件并打印其中的一些细节。它执行正常,但无法检测文件大小或是否隐藏。例如 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(fileN

我写了一个简短的程序,可以找到我制作的文件并打印其中的一些细节。它执行正常,但无法检测文件大小或是否隐藏。例如

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());
}

文件不需要使用物理文件。因此,文件对象可以存在,即使它应该表示的物理文件不存在/找不到。检查JavaDoc中的
length()
lastModified()
,它们都返回
0L
,以防文件不存在。因此,在调用其他方法之前,请确保通过调用
File.exists()
将您的文件对象链接到文件系统上的现有文件。

文件路径:C:\temp\filetext.txt上次修改:0文件大小:0是文件隐藏的吗?错误它表示
文件
未隐藏且大小为
0
。你是说这个文件是隐藏的并且包含一些东西吗?我刚刚在我的机器上运行了它,它运行得很好。当文件不存在时,它会打印出你看到的内容。如果(!productsFile.exists())System.out.println(“此文件不存在”),请尝试添加;在getFileDetails中,确保可以在gpt中找到与预期相同的输出。。文件路径:C:\temp\filetext.txt上次修改:1367428266812文件大小:59文件是否隐藏?错误提示:最好执行“新建文件(目录名,文件名);”并让构造函数组合路径组件。您对该文件的看法是对的。如果存在,它似乎无法找到该文件。但我确实在临时文件夹中创建了一个名为filetest.txt的文件。我不太清楚它为什么不把它捡起来。C:\tempWell如果您在代码中创建了一个名为filetest.txt的文件,而不是filetext.txt,那么问题很明显:-)显示程序的输出。我注意到您在路径名中使用了前斜杠;我不知道当你在java中这样做的时候,Windows盒子上会发生什么。但是,是的,在查看任何其他属性之前,您应该先检查productsFile.exists()。不幸的是,这只是一个输入错误。该文件在临时文件夹中称为filetext.:-(在这个简单的例子中,你也可以调用
file.createNewFile()
,然后在文件系统中搜索新创建的文件。这可能会给你一个这里有什么问题的线索。哦,请遵循Edward Falk在你的线程评论中发布的建议:尝试
新文件(dirName,fileName)
构造函数。