文件(File類)
一、 File類的概述和構造方法
File類的概述:
文件和目錄路徑名的抽象表示形式
構造方法:
File(String pathname):根據一個路徑得到File對象
File(String parent, String child):根據一個目錄和一個子文件/目錄得到File對象
File(File parent, String child):根據一個父File對象和一個子文件/目錄得到File對象
演示:
1. File file = new File("D:\\IdeaProjects\\作業\src\\myhomework\\HomeWork.java") ;
2. File file2 = new File("D:\\IdeaProjects\\作業\\src\\myhomework, "HomeWork.java") ;
3. File file3 = new File("D:\\IdeaProjects\\作業\\src\\myhomework") ;
File file4 = new File(file3 , "HomeWork.java") ;
路徑:
絕對路徑:帶有盤符號的詳細路徑
相對路徑:不帶盤符號的路徑
./當前路徑
../當前路徑的上一級路徑
../../上兩級
二、File類常用方法
1、與創建相關的方法
file.createNewFile();
file.mkdir();
file.mkdirs();
2、刪除相關的方法
file.delete();
3、重命名相關方法
file.renameTo(file1);
4、判斷功能
file.isFile();
file.isDirectory();
file.exists();
file.canRead();
file.canWrite();
file.isHidden();
file.canExecute();
file.isAbsolute();
5、關於獲取的方法
file.getName();
file.length();
file.getAbsolutePath();
file.getAbsoluteFile();
file.getPath();
file.getParent();
file.getParentFile();
file.getTotalSpace();
file.getFreeSpace();
file.lastModified();
file.list();
file.listFiles();
三、案例
import java.io.File;
public class MyTest {
public static void main(String[] args) {
File file = new File("C:\\Users\\73256\\Desktop","新建文件夾");
boolean f1 = rename(file,".txt",".doc");
System.out.println(f1);
File file1 = new File("C:\\Users\\73256\\Desktop","新建文件夾");
boolean f = deleteFile(file1);
System.out.println(f);
}
private static boolean rename(File file,String oldSuffixName,String newSuffixName) {
boolean flag=false;
if(file==null||!file.exists()){
return false;
}
if(file.isFile()){
File file1 = new File(file.getParentFile(), file.getName().replace(oldSuffixName, newSuffixName));
file.renameTo(file1);
return true;
}
File[] files = file.listFiles();
for (File f : files) {
if(f.isFile()&&f.getName().endsWith(oldSuffixName)){
File file1 = new File(f.getParentFile(), f.getName().replace(oldSuffixName, newSuffixName));
boolean b = f.renameTo(file1);
flag=(!flag&&b);
}else {
rename(f,oldSuffixName,newSuffixName);
}
}
return flag;
}
private static boolean deleteFile(File file) {
if(file==null||!file.exists()){
return false;
}
if(file.isFile()){
file.delete();
return true;
}
File[] files = file.listFiles();
for (File f : files) {
if(file.isDirectory()){
deleteFile(f);
}
f.delete();
}
file.delete();
return !file.exists();
}
}