如何检查文件夹是否存在

我正在玩新的Java 7 IOfunction,实际上我试图接收所有文件夹的XML文件。 但是当文件夹不存在时会抛出一个exception,如何检查文件夹是否与新IO一起存在?

public UpdateHandler(String release) { log.info("searching for configuration files in folder " + release); Path releaseFolder = Paths.get(release); try(DirectoryStream<Path> stream = Files.newDirectoryStream(releaseFolder, "*.xml")){ for (Path entry: stream){ log.info("working on file " + entry.getFileName()); } } catch (IOException e){ log.error("error while retrieving update configuration files " + e.getMessage()); } } 

使用java.nio.file.Files

 Path path = ...; if (Files.exists(path)) { // ... } 

你可以select传递这个方法的LinkOption值:

 if (Files.exists(path, LinkOption.NOFOLLOW_LINKS)) { 

还有一个方法不notExists

 if (Files.notExists(path)) { 

非常简单:

 new File("/Path/To/File/or/Directory").exists(); 

如果你想确定它是一个目录:

 File f = new File("/Path/To/File/or/Directory"); if (f.exists() && f.isDirectory()) { ... } 

要检查新的IO是否存在目录:

 if (Files.isDirectory(Paths.get("directory"))) { ... } 

如果文件是目录, isDirectory返回true ; 如果文件不存在,则为false ,不是目录,或者如果文件是目录,则不能确定。

请参阅: 文档 。

您需要将您的path转换为File并testing是否存在:

 for(Path entry: stream){ if(entry.toFile().exists()){ log.info("working on file " + entry.getFileName()); } } 
 File sourceLoc=new File("/a/b/c/folderName"); boolean isFolderExisted=false; sourceLoc.exists()==true?sourceLoc.isDirectory()==true?isFolderExisted=true:isFolderExisted=false:isFolderExisted=false; 

从文件夹目录的string生成一个文件

 String path="Folder directory"; File file = new File(path); 

并存在使用方法。
如果你想生成文件夹,你应该使用mkdir()

 if (!file.exists()) { System.out.print("No Folder"); file.mkdir(); System.out.print("Folder created"); } 

不需要单独调用exists()方法,因为isDirectory()隐式地检查目录是否存在。

我们可以检查文件和文件夹。

 import java.io.*; public class fileCheck { public static void main(String arg[]) { File f = new File("C:/AMD"); if (f.exists() && f.isDirectory()) { System.out.println("Exists"); //if the file is present then it will show the msg } else{ System.out.println("NOT Exists"); //if the file is Not present then it will show the msg } } }