Java中怎样根据文件的路径去判断该文件夹中是否存在该文件

如题所述

1.File testFile = new File(testFilePath);
if(!testFile .exists()){
testFile.mkdirs();
System.out.println("测试文件夹不存在");
}

2.File testFile = new File(testFilePath);
if(!testFile .exists()){
testFile.createNewFile();
System.out.println("测试文件不存在");
}
java中File类自带一个检测方法exists可以判断文件或文件夹是否存在,一般与mkdirs方法(该方法相较于mkdir可以创建包括父级路径,推荐使用该方法)或者createNewFile方法合作使用。
1,如果路径不存在,就创建该路径

2,如果文件不存在,就新建该文件
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-05

1. 首先明确一点的是:test.txt文件可以和test文件夹同时存在同一目录下;test文件不能和test文件夹同时存在同一目录下。

原因是:

(1)win的文件和文件夹都是以节点形式存放,这就意味着相同的文件和文件名不能处在同一目录下,会命名冲突。

(2)文件后缀名也算是文件名的一部分,即test.txt文件和test文件不是相同文件名的文件。

2. 基于以上原因,如果我想在d:创建一个test文件夹,但是d:下面有一个test文件,那么由于命名冲突,是不可能创建成功的。

所以,在创建之前,要通过file.exists()判断是否存在test命名的文件或者文件夹,如果返回true,是不能创建的;

import java.io.File;

import java.io.IOException;  

public class Main { 

public static void main(String[] args) {         

File file = new File("d:\\test_file.txt"); 

Main.judeFileExists(file);

File dir = new File("d:\\test_dir");

Main.judeDirExists(dir);   

}// 判断文件是否存在

public static void judeFileExists(File file) {  

if (file.exists()) {         

System.out.println("file exists");  

} else {

System.out.println("file not exists, create it ...");

try {               

file.createNewFile();        

} catch (IOException e) {               

// TODO Auto-generated catch block               

e.printStackTrace();          

}       

}   

}   // 判断文件夹是否存在 

public static void judeDirExists(File file) {    

if (file.exists()) {           

if (file.isDirectory()) {               

System.out.println("dir exists");           

} else {             

System.out.println("the same name file exists, can not create dir");

}     } 

else {          System.out.println("dir not exists, create it ...");         

file.mkdir();    

}   

}

}

然后再通过file.isDirectory()来判断这是不是一个文件夹。

本回答被网友采纳
第2个回答  2016-02-29
既然都知道文件路径了,那么直接new File("路径"),如果不存在就会抛出异常,你在异常里面处理不存在的逻辑就好了