使用 java.io.File 在文件系统上创建文件
Creating file on filesystem with java.io.File
我正在尝试使用 java.io.File 在我的文件系统上创建一个空的 .properties 文件。
我的代码是:
File newFile = new File(new File(".").getAbsolutePath() + "folder\" + newFileName.getText() + ".properties");
if (newFile.createNewFile()){
//do sth...
}
提示找不到指定路径。
打印文件构造函数的参数,它正确显示了绝对路径。
怎么了?
我认为是“.”操作员可能会导致错误不确定你在那里尝试做什么,可能误解了你的意图但试试这个:
File newFile = new File(new File("folder\").getAbsolutePath() + ".properties");
- 您可以使用
new File("folder", newFileName.getText() + ".properties")
,它将在相对于当前工作目录的 folder
目录中创建对指定文件的文件引用
- 在调用
createNewFile
之前,您应该确保该目录存在,因为它不会为您执行此操作
例如...
File newFile = new File("folder", newFileName.getText() + ".properties");
File parentFile = newFile.getParentFile();
if (parentFile.exists() || parentFile.mkdirs()) {
if (!newFile.exists()) {
if (newFile.createNewFile()){
//do sth...
} else {
throw new IOException("Could not create " + newFile + ", you may not have write permissions or the file is opened by another process");
}
}
} else {
throw new IOException("Could not create directory " + parentFile + ", you may not have write permissions");
}
我很简单地错过了 new File(".").getAbsolutePath()
returns 项目的绝对路径,最后是 .
所以我的 folder
应该被称为 .folder
。下次我会检查两次。
我正在尝试使用 java.io.File 在我的文件系统上创建一个空的 .properties 文件。
我的代码是:
File newFile = new File(new File(".").getAbsolutePath() + "folder\" + newFileName.getText() + ".properties");
if (newFile.createNewFile()){
//do sth...
}
提示找不到指定路径。 打印文件构造函数的参数,它正确显示了绝对路径。
怎么了?
我认为是“.”操作员可能会导致错误不确定你在那里尝试做什么,可能误解了你的意图但试试这个:
File newFile = new File(new File("folder\").getAbsolutePath() + ".properties");
- 您可以使用
new File("folder", newFileName.getText() + ".properties")
,它将在相对于当前工作目录的folder
目录中创建对指定文件的文件引用 - 在调用
createNewFile
之前,您应该确保该目录存在,因为它不会为您执行此操作
例如...
File newFile = new File("folder", newFileName.getText() + ".properties");
File parentFile = newFile.getParentFile();
if (parentFile.exists() || parentFile.mkdirs()) {
if (!newFile.exists()) {
if (newFile.createNewFile()){
//do sth...
} else {
throw new IOException("Could not create " + newFile + ", you may not have write permissions or the file is opened by another process");
}
}
} else {
throw new IOException("Could not create directory " + parentFile + ", you may not have write permissions");
}
我很简单地错过了 new File(".").getAbsolutePath()
returns 项目的绝对路径,最后是 .
所以我的 folder
应该被称为 .folder
。下次我会检查两次。