Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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.io.FileNotFoundException:File';smallPDF_463KB.pdf';不存在_Java - Fatal编程技术网

java.io.FileNotFoundException:File';smallPDF_463KB.pdf';不存在

java.io.FileNotFoundException:File';smallPDF_463KB.pdf';不存在,java,Java,问:最简单的java代码行是什么来确定我的java程序在哪里搜索文件 假设:“smallPDF_463KB.pdf”位于类路径中。(这一假设可能是正确的,也可能是错误的。) 我收到了上面的异常,因为它清楚地表明我的java主程序无法找到给定的文件smallPDF_463KB.pdf。 尽管我相信“smallPDF_463KB.pdf”在类路径中,但这种异常仍在发生 我可以在主程序中插入哪些Java代码行(例如“user.dir”或任何其他Java属性),然后我可以确定Java主程序试图搜索此文件

问:最简单的java代码行是什么来确定我的java程序在哪里搜索文件

假设:“smallPDF_463KB.pdf”位于类路径中。(这一假设可能是正确的,也可能是错误的。)

我收到了上面的异常,因为它清楚地表明我的java主程序无法找到给定的文件smallPDF_463KB.pdf。 尽管我相信“smallPDF_463KB.pdf”在类路径中,但这种异常仍在发生

我可以在主程序中插入哪些Java代码行(例如“user.dir”或任何其他Java属性),然后我可以确定Java主程序试图搜索此文件的位置。 所以,我可以准确地判断出哪里出了问题

例外情况详情:

java.io.FileNotFoundException: File 'smallPDF_463KB.pdf' does not exist
    at org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:137)
    at org.apache.commons.io.FileUtils.readFileToByteArray(FileUtils.java:1135)
    at main.CmisClient.createDocument(CmisClient.java:91)
    at main.CmisClient.main(CmisClient.java:35)
Exception in thread "main" java.lang.NullPointerException
    at java.io.ByteArrayInputStream.<init>(Unknown Source)
    at main.CmisClient.createDocument(CmisClient.java:95)
    at main.CmisClient.main(CmisClient.java:35)
java.io.FileNotFoundException:文件“smallPDF_463KB.pdf”不存在
位于org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:137)
位于org.apache.commons.io.FileUtils.readFileToByteArray(FileUtils.java:1135)
位于main.CmisClient.createDocument(CmisClient.java:91)
位于main.CmisClient.main(CmisClient.java:35)
线程“main”java.lang.NullPointerException中出现异常
位于java.io.ByteArrayInputStream。(未知源)
位于main.CmisClient.createDocument(CmisClient.java:95)
位于main.CmisClient.main(CmisClient.java:35)

呃,坦克先生。。文件路径必须是相对路径或绝对路径。它是否在类路径上并不重要。

新建文件(“.”)。getAbsoluteFile()将为您提供一个包含它正在搜索的文件夹的字符串。

从您的路径创建一个文件,然后打印该文件的绝对路径: i、 e

File文件=新文件(“”);
System.out.println(文件.getCanonicalPath());

您能否显示将路径传递给任何文件的代码input objectJava不会在类路径中搜索文件;它在当前目录中查找。哪个当前目录?主程序运行的目录或调用文件路径的类文件包的目录?@peeskillet我可以将代码粘贴到这里,但SO不允许我这样做,因为它说代码对于这个注释块来说太长。下面@peeskillet的回答解决了我的异常。现在,我的程序能够找到该文件,因为我已将其移动到“projectroot”。谢谢你的尝试。“peeskillet”事先就知道了,能够指示我将文件移动到“项目根目录”。我在这里的意图是发现获得“皮斯基勒”事先掌握的知识的过程。所以,如果有人想头脑风暴,给我那些可以打印“项目根目录”路径的java代码行,我仍然在寻找一个通用的解决方案。这是一个正确的答案,因为这告诉我们java程序试图在哪里找到文件。我接受它和通用解决方案。因此,Java开发人员不必像上面“peeskillet”所指出的那样,总是将文件放在“项目根目录”中。相反,请放置@user1631616给我们的代码行,找出java程序在运行时试图搜索文件的实际位置,并应用适当的诊断。如果找不到文件,如何打印路径?这也是对我问题的正确回答,我已经对它进行了测试,它打印了Java程序试图搜索文件的路径。谢谢你尝试我的问题。我在从webapp扫描文件时遇到了同样的问题。它不会从工作区目录扫描它。它从EclipseWebApp获取
File file = new File("<your path>");
System.out.println(file.getCanonicalPath());