写入新文件时自动创建完整路径
-
26-09-2019 - |
题
我想写一个新文件 FileWriter
. 。我这样使用它:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
现在 dir1
和 dir2
目前不存在。如果它们尚不存在,我希望 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])
不隶属于 StackOverflow