She*_*ari 23 java file ioexception
我试图在文件系统上创建一个文件,但我一直得到这个例外:
java.io.IOException: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我有一个现有的目录,我正在尝试将文件写入该目录.
// I have also tried this below, but get same error
// new File(System.getProperty("user.home") + "/.foo/bar/" + fileName);
File f = new File(System.getProperty("user.home") + "/.foo/bar/", fileName);
if (f.exists() && !f.canWrite())
throw new IOException("Kan ikke skrive til filsystemet " + f.getAbsolutePath());
if (!f.isFile()) {
f.createNewFile(); // Exception here
} else {
f.setLastModified(System.currentTimeMillis());
}
Run Code Online (Sandbox Code Playgroud)
获得例外:
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)`
Run Code Online (Sandbox Code Playgroud)
我对路径有写权限,但是没有创建文件.
Boh*_*ian 42
如果该目录../.foo/bar/不存在,则无法在该目录中创建文件,因此请确保首先创建该目录.
尝试这样的事情:
File f = new File("somedirname1/somedirname2/somefilename");
if (!f.getParentFile().exists())
f.getParentFile().mkdirs();
if (!f.exists())
f.createNewFile();
Run Code Online (Sandbox Code Playgroud)
duf*_*ymo 21
打印完整文件名或在调试器中单步执行.当我对这样的错误感到困惑时,这意味着我的假设和期望与现实不符.确保你能看到路径是什么; 它会帮助你弄清楚你哪里出错了.
尝试用
f.mkdirs()然后createNewFile()
| 归档时间: |
|
| 查看次数: |
86664 次 |
| 最近记录: |