如何在Java中创build一个目录?

如何创build目录/文件夹?

一旦我testing了System.getProperty("user.home");

当且仅当新文件夹不存在时,我必须创build一个目录(目录名称“新文件夹”)。

 File theDir = new File("new folder"); // if the directory does not exist, create it if (!theDir.exists()) { System.out.println("creating directory: " + theDir.getName()); boolean result = false; try{ theDir.mkdir(); result = true; } catch(SecurityException se){ //handle it } if(result) { System.out.println("DIR created"); } } 
 new File("/path/directory").mkdirs(); 

这里“目录”是你想创build/存在的目录的名字。

在Java 7中,可以使用Files.createDirectories()

例如:

 Files.createDirectories(Paths.get("/path/to/directory")); 

你可以尝试FileUtils#forceMkdir

 FileUtils.forceMkdir("/path/directory"); 

这个库有很多有用的function。

mkdir vs mkdirs


如果你想创build一个单一的目录使用mkdir

 new File("/path/directory").mkdir(); 

如果你想创build一个文件夹结构的层次使用mkdirs

  new File("/path/directory").mkdirs(); 
  1. 创build一个单一的目录。

     new File("C:\\Directory1").mkdir(); 
  2. 创build一个名为“Directory2”及其所有子目录“Sub2”和“Sub-Sub2”的目录。

     new File("C:\\Directory2\\Sub2\\Sub-Sub2").mkdirs() 

来源:这个完美的uto ,你也可以find一个使用的例子。

下面的方法应该做你想做的,只要确保你正在检查mkdir() / mkdirs()的返回值

 private void createUserDir(final String dirName) throws IOException { final File homeDir = new File(System.getProperty("user.home")); final File dir = new File(homeDir, dirName); if (!dir.exists() && !dir.mkdirs()) { throw new IOException("Unable to create " + dir.getAbsolutePath(); } } 

虽然这个问题已经回答了。 我想提出一些额外的,即如果有一个文件存在的目录名称,你正试图创build比它应该提示一个错误。 为未来的访客。

 public static void makeDir() { File directory = new File(" dirname "); if (directory.exists() && directory.isFile()) { System.out.println("The dir with name could not be" + " created as it is a normal file"); } else { try { if (!directory.exists()) { directory.mkdir(); } String username = System.getProperty("user.name"); String filename = " path/" + username + ".txt"; //extension if you need one } catch (IOException e) { System.out.println("prompt for error"); } } } 

对于Java 7和以上:

 Path path = Paths.get("/your/path/string"); if(!Files.exists(path)) { try { Files.createDirectories(path); } catch (IOException e) { e.printStackTrace(); } } 

只是想指出每个人调用File.mkdir()File.mkdirs()要小心File对象是一个目录而不是文件。 例如,如果您为path/dir1/dir2/file.txt调用mkdirs() ,则会创build名称为file.txt文件夹 ,这可能不是您想要的。 如果你正在创build一个新文件,也想自动创build父文件夹,你可以这样做:

  File file = new File(filePath); if (file.getParentFile() != null) { file.getParentFile().mkdirs(); } 

干净整洁:

 import java.io.File; public class RevCreateDirectory { public void revCreateDirectory() { File file = new File("D:\\Directory1"); if (!file.exists()) { if (file.mkdir()) { System.out.println("Directory is created!"); } else { System.out.println("Failed to create directory!"); } } File files = new File("D:\\Directory2\\Sub2\\Sub-Sub2"); if (!files.exists()) { if (files.mkdirs()) { System.out.println("Multiple directories are created!"); } else { System.out.println("Failed to create multiple directories!"); } } } } 

试试这个。

 import java.io.File; public class MakingDirectory { public static void main(String[] args) { String s="d:\\msreddy\\sample1"; File file=new File(s); file.mkdirs(); } } 

欲了解更多信息, 请参阅 。

这个工作方式为我做一个单一的目录或更多或他们:需要导入java.io.File;
/ *input下面的代码来添加一个dine1或检查是否存在dir1,如果没有,所以创build它和dir2和dir3相同* /

  File filed = new File("C:\\dir1"); if(!filed.exists()){ if(filed.mkdir()){ System.out.println("directory is created"); }} else{ System.out.println("directory exist"); } File filel = new File("C:\\dir1\\dir2"); if(!filel.exists()){ if(filel.mkdir()){ System.out.println("directory is created"); }} else{ System.out.println("directory exist"); } File filet = new File("C:\\dir1\\dir2\\dir3"); if(!filet.exists()){ if(filet.mkdir()){ System.out.println("directory is created"); }} else{ System.out.println("directory exist"); } 

那么在java中创buildDirectory /文件夹我们有两种方法

这里makedirectory方法创build单个目录,如果它不存在。

 File dir = new File("path name"); boolean isCreated = dir.mkdir(); 

 File dir = new File("path name"); boolean isCreated = dir.mkdirs(); 

这里makedirectories方法将创build文件对象所表示的path中缺less的所有目录。

例如参考下面的链接(解释得非常好)。 希望它有帮助! http://www.flowerbrackets.com/create-directory-java-program/

此function允许您在用户主目录上创build一个目录。

 private static void createDirectory(final String directoryName) { final File homeDirectory = new File(System.getProperty("user.home")); final File newDirectory = new File(homeDirectory, directoryName); if(!newDirectory.exists()) { boolean result = newDirectory.mkdir(); if(result) { System.out.println("The directory is created !"); } } else { System.out.println("The directory already exist"); } } 
 public class Test1 { public static void main(String[] args) { String path = System.getProperty("user.home"); File dir=new File(path+"/new folder"); if(dir.exists()){ System.out.println("A folder with name 'new folder' is already exist in the path "+path); }else{ dir.mkdir(); } } } 

你也可以参考makdir()函数在你想要的文件夹中创build一个新的目录。