我想写一个新文件 FileWriter. 。我这样使用它:

FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");

现在 dir1dir2 目前不存在。如果它们尚不存在,我希望 Java 自动创建它们。实际上,如果整个文件路径不存在,Java 应该设置它。

我怎样才能实现这个目标?

有帮助吗?

解决方案

就像是:

File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);

其他提示

从 Java 1.7 开始,您可以使用 Files.createFile:

Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt");
Files.createDirectories(pathToFile.getParent());
Files.createFile(pathToFile);

使用 File.mkdirs():

File dir = new File("C:\\user\\Desktop\\dir1\\dir2");
dir.mkdirs();
File file = new File(dir, "filename.txt");
FileWriter newJsp = new FileWriter(file);

使用 File.mkdirs().

使用 文件工具 来处理所有这些令人头疼的问题。

编辑:例如,使用下面的代码写入文件,此方法将“检查并创建父目录(如果不存在)”。

openOutputStream(File file [, boolean append]) 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top