Java的File类操作

File文件操作类:

一、 创建文件类:File file = new File(fileName) filename可以是文件夹或者文件
二、 在进行文件的操作时:若操作的对象是文件,那么在进行文件的创建、删除、复制之前,需要做如下操作:
1)需要判断文件是否存在
2)以及File所指向的对象是一个文件还是一个文件夹
3)该文件所在的文件夹是否存在:file.getParentFile().exists()
4) 若所在文件夹不能存在,需要创建文件夹,若创建不成功,返回false
if(!file.getParentFile().mkdirs()) return false;
三、在对文件夹进行操作时 ,需要:
1) 首先判断dirname 是否以文件分隔符File.separetor结尾,如果不是:
dirname += File.separator
2) 需要判断File dir = new File(dirname) 中的dir 是不是存在以及指向的是不是一个文件夹。
dir.exists() dir.isDirctory()
3) 在对文件夹进行复制、删除等操作时,一般会用到递归,因为文件夹里面有时候存在子文件夹。

四、删除
指定目录目录和目录下文件或目录的例子:
public static boolean deleteFileOrDir(String fileName){
File file = new File(fileName);
if(!file.exists()){
System.out.println("文件:"+fileName+"不存在");
return false;
}
if(file.isFile()){
return deleteFile(fileName);
}else{
return deleteDir(fileName);
}
}
//删除文件
public static boolean deleteFile(String fileName){
File file = new File(fileName);
if(file.exists() && file.isFile()){
return file.delete();
}
return false;
}
//删除文件夹
public static boolean deleteDir(String dir){
if(!dir.endsWith(File.separator)){
dir += File.separator;
}
File file = new File(dir);
if(!file.exists() || !file.isDirectory() ) return false;
boolean flag =false;
File[] array = file.listFiles();
//递归删除文件夹里面的文件夹和文件
for(int i=0;i<array.length;i++){
if(array[i].isFile()){
flag =deleteFile(array[i].getAbsolutePath());
if(!flag) break;
}
if(array[i].isDirectory()){
flag = deleteDir(array[i].getAbsolutePath());
if(!flag) break;
}
}
if(!flag) return false;
if(file.delete()) return true;
return false;
}

猜你喜欢

转载自blog.csdn.net/xzj80927/article/details/79802843