【发布时间】:2013-09-25 13:58:25
【问题描述】:
我正在尝试使用这样的路径写入文件:
D:\abcd\efgh\..\ijkl\file.txt
所以我有一个带有这样路径的 File 对象,但是在行中
FileOutputStream fos = new FileOutputStream(f);
我明白了:
java.io.FileNotFoundException: ..\ijkl\file.txt (The system cannot find the path specified)
有人知道这里出了什么问题吗?有没有可能以绝对路径解析路径?
文件对象的初始化:
File f = new File(strImagePath);
strImagePath 由不同的字符串构建而成,看起来与上面显示的路径完全相同。
谢谢!
【问题讨论】:
-
显示整个代码,而不仅仅是随机行。我们看不到
f中的内容,而这正是您的问题所在。 -
您确定不只是在
efgh和..(父目录的快捷方式)之间缺少反斜杠“\”,即D:\abcd\efgh\..\ijkl\file.txt吗? -
f 是一个包含路径“D:\abcd\efgh\..\ijkl\file.txt”的文件对象。我在调试时使用日志条目检查了这一点。
-
你错了。 'f' 是一个文件对象,它只包含“..\ijkl\file.txt”,正如异常清楚地表明的那样。执行这个程序时你在哪个工作目录下?
-
没有“Java 的工作目录”之类的东西。我问你执行程序时在的哪个工作目录。换句话说,程序运行时看到的系统属性“user.dir”的值。
标签: java file exception io filenotfoundexception