java与此同时创建目录和文件
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