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

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

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

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

我怎样才能做到这一点?

  • CSS文件中的相对path是相对于CSS文件的吗?
  • 什么是__path__有用?
  • 如何在java文件path中转义反斜杠和自动生成的转义字符
  • Path.Combine绝对与相对pathstring
  • 在文件夹中查找具有特定扩展名的文件
  • 检查path是文件还是目录的更好方法?
  • 在Windows.cmd文件或batch file中的path中使用空格设置pathvariables
  • 我如何设置我的Cygwin PATH来findjavac?
  • 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])