java SE :文件基本處理 File、FileFilter、FileNameFilter

File java

  對目錄及文件的建立、重命名、刪除、文件列表、判斷是否存在ide

構造函數函數

// 完整的目錄或文件路徑
public File(String pathname) 

//父級目錄/文件路徑+子級目錄/路徑
public File(String parent, String child) 

//父級目錄/文件對象 + 子級目錄/路徑
public File(File parent, String child) 

// URI 對象
public File(URI uri) 

  
 // File 對象便可表明目錄,亦可表明文件
File file=new File("H:\\Java 45");

File file1=new File("H:\\Java 45\\JDBC\\事務.ppt");


File file2=new File("H:\\Java 45\\01-JavaSE知識","day01(計算機基礎知識&jdk安裝&標識符)");
System.out.println(file2.exists());

File file3=new File("H:\\Java 45\\JDBC","代理.ppt");
System.out.println(file3.exists());


File file4=new File(new File("H:\\Java 45\\01-JavaSE知識"),"day01(計算機基礎知識&jdk安裝&標識符)");
System.out.println(file4.exists());
File file5=new File(new File("H:\\Java 45\\JDBC"),"代理.ppt");
System.out.println(file5.exists());

 判斷文件/目錄是否存在spa

public boolean exists() 

 判斷文件/目錄代理

public boolean isDirectory()

public boolean isFile()

 建立文件/目錄對象

// 建立一個目錄
public boolean mkdir()

// 建立全部目錄
public boolean mkdirs()

// 建立一個文件
public boolean createNewFile() 

 獲取目錄下全部文件/目錄blog

public File[] listFiles()

  

重命名文件名教程

public boolean renameTo(File dest)

  

// 原文件
File file1=new File("H:\\Intellij IDEA 教程_任小龍\\經常使用快捷鍵.txt");

// 將原文件名更改成目標文件
file1.renameTo(new File("H:\\Intellij IDEA 教程_任小龍\\經常使用快捷鍵a.txt"));

 

刪除文件/目錄 事務

public boolean delete() 

  

FileFilter、FileNameFilter :文件/目錄過濾get

public class FileFilterTest {
    public static void main(String[] args) {
        File file=new File("H:\\Intellij IDEA 教程_任小龍");
        File[] files=file.listFiles(new ExtensionFilter());
        for(int i=0;i<files.length;i++){
            System.out.println(files[i].getAbsolutePath());
        }
    }
}

// 僅獲取爲目錄  或文件以 .txt 結束文件
class ExtensionFilter implements FileFilter{

    @Override
    public boolean accept(File pathname) {
        if (pathname.isDirectory())
            return  true;
        if (pathname.isFile()){
            if(pathname.getName().indexOf(".txt")>-1)
                return  true;
        }
        return false;
    }
}

  

public class FileNameFilterTest  {
    public static void main(String[] args) {

        File file=new File("H:\\Intellij IDEA 教程_任小龍");
        File[] files=file.listFiles(new ExtenstionNameFilter());
        for(int i=0;i<files.length;i++){
            System.out.println(files[i].getAbsolutePath());
        }
    }
}

// 該方法難以直接判斷目錄或文件
class ExtenstionNameFilter implements FilenameFilter{

    @Override
    // 父級目錄  name
    public boolean accept(File dir, String name) {
       if (name.lastIndexOf(".txt")>-1)
           return  true;
       return  false;
    }
}

  

相關文章
相關標籤/搜索