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();”