Java File類方法使用詳解


Java File類的功能非常強大,利用java基本上可以對文件進行所有操作。文本將對Java File 文件操作的類詳細的分析,並將File類中的常用方法進行簡單介紹。

構造函數

public class FileDemo {
	public static void main(String[] args) {
		//構造函數File(String pathname)
		File f1 = new File("D:\\a\\1.txt");
		
		//File(String parent,String child)
		File f2 = new File("D:\\a", "2.txt");
		
		//File(File parent,String child)
		File f3 = new File("D:"+File.separator+"a");
		File f4 = new File(f3,"3.txt");
		
		System.out.println(f1);
	}
}

 創建方法

1 boolean  createNewFile() 不存在就返回true;存在返回false

2 boolean mkdir()  創建目錄

3 boolean mkdirs()  創建多級目錄

 刪除方法

1  boolean delete()

2 boolean deleteOnExit()文件使用后刪除

public class FileDemo {
	public static void main(String[] args) {
	File f = new File("D:\\1.txt");
	try {
		System.out.println(f.createNewFile());
		System.out.println(f.delete());
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
	}

  判斷方法

  1 boolean canExecute()  判斷文件是否可以執行

  2 boolean canRead() 判斷文件是否可讀

  3 boolean canWrite() 判斷文件是否可寫

  4 boolean exist() 判斷文件是否存在

  5 boolean isDirectory() 判斷文件是目錄

  6 boolean isFile() 判斷是否是文件

  7 boolean canHidden() 判斷文件是否可見

  8 boolean isAbsolute() 判斷文件是否是絕對路勁 ,文件不存在也能判斷

 

 獲取方法

 1.String getName()
 2.String getPath()
 3.String getAbsolutePath()
 4.String getParent()//如果沒有父目錄返回null
 5.long lastModified()//獲取最后一次修改的時間
 6.long length()
 7.boolean renameTo(File f)
 8.File[] liseRoots()//獲取機器盤符
9.String[] list()
10.String[] list(FilenameFilter filter)

 列出磁盤下的文件和文件夾

public class FileDemo3 {
     public static void main(String[] args){
         File[] files =File.listRoots();
         for(File file:files){
             System.out.println(file);
             if(file.length()>0){
                 String[] filenames =file.list();
                 for(String filename:filenames){
                     System.out.println(filename);
                 }
             }
         }
     }

 }

  

 文件過濾

 public class FileDemo4 {
     public static void main(String[] args){
         File[] files =File.listRoots();
         for(File file:files){
             System.out.println(file);
             if(file.length()>0){
                 String[] filenames =file.list(new FilenameFilter(){
                     //file 過濾目錄 name 文件名
                     public boolean accept(File file,String filename){
                         return filename.endsWith(".mp3");
                     }
                 });
                 for(String filename:filenames){
                     System.out.println(filename);
                 }
             }
         }
     }

 }

  

 利用遞歸列出所有文件

public class FileDemo5 {
    public static void main(String[] args){
        File f =new File("e:\\音樂");
        showDir(f);
    }
    public static void showDir(File dir){
        System.out.println(dir);
        File[] files =dir.listFiles();
        for(File file:files){
            if(file.isDirectory())
                showDir(file);
            else 
                System.out.println(file);
        }
    }
}

  

 移動文件

public class Test5 {
    public static void main(String[] args){
        File f1 = new File("d:\\");
        moveFile(f1);
    }
public static void moveFile(File dir){
    File[] files=dir.listFiles();
    for(File file:files){
        if(file.isDirectory())
            moveFile(file);
        else{
            if(file.getName().endsWith(".java"))
                file.renameTo(new File("c:\\jad\\"+
            file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad"));
            }
        }
    }
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM