Java 如何在特定目录中创建文本文件?
我试图在特定目录中创建一个文件Java 如何在特定目录中创建文本文件?,java,file-io,mkdir,Java,File Io,Mkdir,我试图在特定目录中创建一个文件SYS\u CONFIG\u file\u NAME。使用下面发布的代码,当我运行java程序时,它会在该目录中创建两个目录,而不是一个目录和一个文本文件 以下代码的输出为 SYS_CONFIG/config.txt. But `config.txt` is not a text file it is just a directory named `config.txt` 我还提到了stackoverflow中的一些问题,但我找不到解决方案。请让我知道我错过了什么
SYS\u CONFIG\u file\u NAME
。使用下面发布的代码,当我运行java程序时,它会在该目录中创建两个目录,而不是一个目录和一个文本文件
以下代码的输出为
SYS_CONFIG/config.txt. But `config.txt` is not a text file it is just a directory named `config.txt`
我还提到了stackoverflow中的一些问题,但我找不到解决方案。请让我知道我错过了什么
代码:
private final static String SYS_CONFIG_DIR_NAME = "SYS_CONFIG";
private final static String SYS_CONFIG_FILE_NAME = "config.txt";
private static File newSysConfigInstance() throws IOException {
// TODO Auto-generated method stub
File f = new File(SYS_CONFIG_FILE_PATH + "/" + SYS_CONFIG_DIR_NAME + "/" + SYS_CONFIG_FILE_NAME);
f.mkdirs();
f.createNewFile();
return f;
}
您告诉它创建一个
a/b/c
格式的目录,如果您想要一个a/b
格式的目录,那么您应该给它您想要创建的目录
File dir = new File(SYS_CONFIG_FILE_PATH, SYS_CONFIG_DIR_NAME);
f.mkdirs();
return new File(dir, SYS_CONFIG_FILE_NAME);
在使用文件之前,您不必预先创建文件。我会这样做,如果未创建文件,您必须始终调用
createNewFile()
来创建该文件的新实例
File dir = new File(SYS_CONFIG_FILE_PATH, SYS_CONFIG_DIR_NAME);
f.mkdirs(); // this to create the directories need for your path.
File file = new File(dir, SYS_CONFIG_FILE_NAME);
if (file.createNewFile()) {
system.out.prinln("file first created");
}else {
// print a message here
}
return file;
我想您忘记了return语句之前和.mkdirs()之后的“f.createNewFile();”