写入新文件时自动创build整个path

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

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

现在dir1dir2目前不存在。 我想让Java自动创build它们,如果它们不在那里的话。 实际上,Java应该build立整个文件path,如果还不存在的话。

我怎样才能做到这一点?

5 Solutions collect form web for “写入新文件时自动创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]) 
  • Path.Combine绝对与相对pathstring
  • 确定由pyInstaller生成的Python EXE中的应用程序path
  • 命令提示符 - 如何为该batch file执行添加一个设置path?
  • Xcode - 什么是$(SRCROOT)?
  • 如何使用Windowsnetworkingpath与Git Bash
  • 从相对path和/或文件名parsing绝对path
  • 使用JavaScript将相对path转换为绝对path
  • Bash:用好的工作目录path自定义PS1
  • Ruby加载configuration(yaml)文件与源相同的目录
  • 检测用户的path中是否有特定的目录
  • Bash:检索绝对path给定的相对