java同时创建目录和文件

在java中貌似不能同时创建目录和文件,需要分步创建,即不能在创建目录的时候,同时创建该目录下的文件,如果要创建的话,需要分两步,下边是创建的代码,这一点很烦,用mkdirs也没有用

 

String path = "D:/test/d.txt";
File file = new File(path);
if (!file.getParentFile().exists()) {
    file.getParentFile().mkdirs();
}
file.createNewFile();

 

如果目录"d:/test/"不存在,我们直接

file.createNewFile();

 

会报错,

 

/**
* 创建任意深度的文件所在文件夹,可以用来替代直接new File(path)。
*
* @param path
* @return File对象
*/
public static File createFile(String path) {
     File file = new File(path);
     //寻找父目录是否存在
    File parent = new File(file.getAbsolutePath().substring(0, file.getAbsolutePath().lastIndexOf(File.separator)));
     //如果父目录不存在,则递归寻找更上一层目录
    if (!parent.exists()) {
         createFile(parent.getPath());
         //创建父目录
      parent.mkdirs();
      }
     return file;
}

 


我们可以在代码中代替new File();

File file=createFile(path);

 

转载:http://www.popo4j.com/article/java-create-directories-and-files.html

你可能感兴趣的:(java,html)