我想用FileWriter
写一个新文件。我这样用它:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
现在dir1
和dir2
目前不存在。我希望Java自动创建它们,如果它们还没有存在的话。实际上,Java应该设置整个文件路径(如果尚未存在)。
我怎样才能做到这一点?
答案 0 :(得分:380)
类似的东西:
File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);
答案 1 :(得分:121)
从Java 1.7开始,您可以使用Files.createFile:
Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt");
Files.createDirectories(pathToFile.getParent());
Files.createFile(pathToFile);
答案 2 :(得分:26)
使用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);
答案 3 :(得分:15)
答案 4 :(得分:3)
使用FileUtils来解决所有这些问题。
编辑:例如,使用下面的代码写入文件,此方法将“检查并创建父目录(如果它不存在)”。
openOutputStream(File file [, boolean append])