我想用编写一个新文件FileWriter
。我这样使用它:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
现在dir1
和dir2
当前不存在。我希望Java自动创建它们(如果尚未存在的话)。实际上,Java应该设置整个文件路径(如果尚不存在)。
我该如何实现?
我想用编写一个新文件FileWriter
。我这样使用它:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
现在dir1
和dir2
当前不存在。我希望Java自动创建它们(如果尚未存在的话)。实际上,Java应该设置整个文件路径(如果尚不存在)。
我该如何实现?
Answers:
就像是:
File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);
mkdirs
则什么都不做。
从Java 1.7开始,您可以使用Files.createFile:
Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt");
Files.createDirectories(pathToFile.getParent());
Files.createFile(pathToFile);
Path pathToFile = Paths.get("myFile.txt"); Files.createDirectories(pathToFile.getParent());
使用FileUtils处理所有这些令人头疼的事情。
编辑:例如,使用下面的代码写入文件,此方法将“检查并创建父目录(如果不存在)”。
openOutputStream(File file [, boolean append])