我试图在文件系统上创建一个文件,但是我总是得到这样的异常:
java.io.IOException: No such file or directory
我有一个已存在的目录,并且我正在尝试向该目录写入一个文件。
// 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());
}
获取异常:
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)`
我有该路径的写权限,但该文件并未创建。
发布于 2011-09-19 17:47:25
如果目录../.foo/bar/
不存在,则无法在其中创建文件,因此请确保先创建该目录。
尝试如下所示:
File f = new File("somedirname1/somedirname2/somefilename");
if (!f.getParentFile().exists())
f.getParentFile().mkdirs();
if (!f.exists())
f.createNewFile();
发布于 2016-12-06 18:08:35
要注意权限,你可能没有其中的一些权限。您可以在设置->应用程序->应用程序的名称->权限->活动中看到它,如果没有。
发布于 2011-09-19 17:50:03
尝试使用
先使用f.mkdirs()
,然后使用createNewFile()
https://stackoverflow.com/questions/7469018
复制相似问题