File.getAbsolutePath()返回null的可能原因是什么?

3
我遇到了一个bug,看起来是由于File.getAbsolutePath()返回null引起的。什么情况会导致这种情况呢?(发生异常的系统正在运行Windows XP。) javadoc对路径解析过程有简要描述,但没有提到任何可能导致返回null路径字符串的情况。

你可以编写一个测试类,检查绝对存在的文件/目录和绝对不存在的文件/目录,然后比较结果。 - Jeremy
你提到了一个异常,但没有说明是哪个异常或者它打印的堆栈跟踪。能否告诉我们这些信息? - Powerlord
异常有点离题。这是由于执行String string = file.getAbsolutePath(),然后将该字符串传递给一个期望它不为空的方法而导致的NullPointerException。 - sjohnston
与权限相关的内容? - jwaddell
2个回答

0
显而易见的是——当文件未被实例化或不存在时。

4
如果File没有被实例化,它将会抛出一个NullPointerException,而不是返回null - Jeremy
此外,一个不存在的文件仍将解析为绝对路径。 - Catchwa

0
通过 API 类跟踪,答案应该在 Win32FileSystem.resolve(File) 中(请查看您的 src.zip 文件)。
您可以在自己的项目中复制/粘贴此方法中的代码,然后使用导致问题的 File 进行步骤分析。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接