写入新文件时自动创build整个path
我想用FileWriter
写一个新的文件。 我这样使用它:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
现在dir1
和dir2
目前不存在。 我想让Java自动创build它们,如果它们不在那里的话。 实际上,Java应该build立整个文件path,如果还不存在的话。
我怎样才能做到这一点?
就像是:
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()
。
使用FileUtils来处理所有这些问题。
编辑:例如,使用下面的代码写入一个文件,这个方法将'检查并创build父目录,如果它不存在'。
openOutputStream(File file [, boolean append])