日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

File類的基本運用、查找、刪除

作者:weixin_44804207 更新時間: 2022-07-13 編程語言

File類的基本運用

  • 前言
  • 一、構造方法
  • 二、基本使用
    • 1.創建、刪除功能
    • 2.判斷功能
    • 3.獲取功能、修改文件名
    • 4.獲取文件下所有文件、文件夾名字,獲取盤符
  • 三、基本運用
    • 1.查看所有文件
    • 1.刪除所有文件
  • 總結


前言

java基礎-文件類的使用


File:文件和目錄路徑名的抽象表示形式,File 類的實例是不可變的

  • 構造方法:
  • File的常用功能:
  •  創建功能
    
  •  刪除功能
    
  •  獲取功能
    
  •  判斷功能		
    
  •  修改文件名
    

一、構造方法

	//File(String pathname) :將指定的路徑名轉換成一個File對象
	File f = new File("D:\\a\\b.txt");
	
	//File(String parent, String child) : 根據指定的父路徑和文件路徑創建File對象
	File f2 = new File("D:\\a\\","b.txt");
	
	//File(File parent, String child) :根據指定的父路徑對象和文件路徑創建File對象
	File parent = new File("D:\\");
	File f3 = new File(parent,"a\\b.txt");

二、基本使用

1.創建、刪除功能

創建功能

  •  boolean createNewFile()  					//創建文件
    
  •  boolean mkdir()  							//創建文件夾
    
  •  boolean mkdirs()  						//創建文件夾,支持多層創建
    

刪除功能

  •  boolean delete() 							//刪除文件、文件夾
    
  • 絕對路徑:固定不可改變的路徑,以盤符開頭

  • 相對路徑:相對某個參照物,不能以盤符開頭

  • 在eclipse中相對路徑相對應當前項目的根目錄

  • 注意:刪除一個文件夾,這個文件夾下面不能有其他的文件和文件夾

代碼如下(示例):

//File f = new File("d:\\a\\b.txt");//絕對路徑
File f2 = new File("a.txt");//相對路徑

//boolean createNewFile() : 當指定文件不存在時創建文件并返回true,否則返回false
System.out.println(f2.createNewFile());

//boolean mkdir()   : 當指定文件夾不存在時創建文件夾并返回true,否則返回false
File f3 = new File("b");
System.out.println(f3.mkdir());

//boolean mkdirs() : 創建指定文件夾,當文件夾所在的目錄不存在,則順道一塊創建了
File f4 = new File("a\\b\\f");
//System.out.println(f4.mkdir());   //多層目錄支持創建
System.out.println(f4.mkdirs());	//支持單層、多層目錄創建

File f5 = new File("c.txt");
System.out.println(f5.mkdir());		//創建的是目錄

//boolean delete() :當指定的文件或文件夾存在時刪除文件或者文件夾 并返回true,否則返回false
//System.out.println(f2.delete());
System.out.println(f5.delete());

//File f6 = new File("c");
//System.out.println(f6.delete());

2.判斷功能

代碼如下(示例):

File f = new File("b.txt");
//boolean exists() : 判斷文件或者文件夾是否存在,如果存在則返回true,否則返回false
System.out.println(f.exists());

//File f = new File("a.txt");
File f2 = new File("a\\b.txt");
//boolean isAbsolute() :判斷File對象指向的路徑是否是絕對路徑,如果是絕對路徑則返回true,否則返回false
System.out.println(f2.isAbsolute());

File f = new File("a.txt");
File f2 = new File("b.txt");
//boolean isDirectory() :判斷File對象指向的路徑是否是文件夾,如果是則返回true,否則返回false
//boolean isFile()  : 判斷File對象指向的路徑是否是文件,如果是則返回true,否則返回false
//System.out.println(f.isDirectory());
//System.out.println(f2.isDirectory());
System.out.println(f.isFile());
System.out.println(f2.isFile());

File f = new File("d:\\a\\c.txt");
//boolean isHidden() :判斷File對象指向的路徑是否有隱藏屬性,如果隱藏了則返回true,否則返回false
System.out.println(f.isHidden());

3.獲取功能、修改文件名

代碼如下(示例):

File f = new File("d:\\a\\b.txt");
File f2 = new File("a.txt");
//File getAbsoluteFile()  :以File對象的形式返回當前File對象所有指向的絕對路徑
System.out.println(f2.getAbsoluteFile());
//String getAbsolutePath() : 返回File對象所指向的絕對路徑
System.out.println(f2.getAbsolutePath());


File parent = new File("b");
File f3 = new File(parent,"c.txt");
if(!parent.exists()) {
	parent.mkdirs();
}
System.out.println(f3.createNewFile());
//String getParent() 返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回 null
System.out.println(f3.getParent());
//File getParentFile() 返回此抽象路徑名父目錄的抽象路徑名;如果此路徑名沒有指定父目錄,則返回 null。
System.out.println(f3.getParentFile());


File f = new File("a.txt");
File f2 = new File("d:\\a\\b.txt");
File f3 = new File("b");
//String getName() : 獲取文件和文件夾的名稱
System.out.println(f.getName());
System.out.println(f2.getName());
System.out.println(f3.getName());

//String getPath() : 返回創建File對象時給的路徑
System.out.println(f.getPath());
System.out.println(f2.getPath());
System.out.println(f3.getPath());
	
//long lastModified() : 以毫秒值的形式返回最后修改時間
System.out.println(f.lastModified());
//2514023311294
Date d = new Date(f.lastModified());
System.out.println(d.toLocaleString());

//long length() : 返回文件的字節數
System.out.println(f.length());
File f4 = new File("b\\c.txt");
System.out.println(f4.length());

//修改文件名字
File f = new File("f.txt");
File f2 = new File("b.txt");
//boolean renameTo(File dest) : 將當前File對象所指向的路徑 修改為 指定File所指向的路徑
//注意:修改的文件路徑不能存在,如果存在則修改失敗
System.out.println(f.renameTo(f2));

4.獲取文件下所有文件、文件夾名字,獲取盤符

重要的獲取功能

  • String[] list() //獲取當前文件下的所有文件、文件夾名字
  • File[] listFiles() //獲取當前文件下的所有文件、文件夾名字(帶路徑)
  • static File[] listRoots() //獲取電腦的所有盤符
File f = new File("b");
File f2 = new File("D:\\qycache");
File f3 = new File("b.txt");
//String[] list() : 返回當前路徑下所有的文件和文件夾名稱
//注意:只有指向文件夾的File對象才可以調用該方法
String[] files = f2.list();
for (int i = 0; i < files.length; i++) {
	System.out.println(files[i]);
}


File f = new File("b");
File f2 = new File("D:\\qycache");
File f3 = new File("c.txt");
//File[] listFiles()
File[] files = f2.listFiles();
for (File file : files) {
	System.out.println(file.getName());  //因為獲取的是帶路徑的,所以使用getName()

}


//static File[] listRoots() :  返回的是所有盤符
File[] files = File.listRoots();
for (File file : files) {
	System.out.println(file);
}

三、基本運用

1.查看所有文件

private static void method(File file) {
        if(file.isDirectory()){
            File[] files = file.listFiles();
            for(File f:files){
                //判斷是否文件對象
                if(f.isFile()){
                    if(f.getName().endsWith(".java")){
                        System.out.println(f.getName());
                    }
                }else if(file.isDirectory()){
                    method(f);
                }
            }
        }
    }

1.刪除所有文件

if(f.isDirectory()){
            //刪除自己的所有子文件和子目錄
            //獲取所有的子文件和子目錄
            File[] files = f.listFiles();
            for(File f1 : files ){
                if (f1.isFile()){
					// 直接刪除
                    System.out.println(f1.getName());
                    f1.delete();
                }else if(f1.isDirectory()){
                    //繼續查看是否還有文件和子目錄
                    method(f1);
                }
            }
            //刪除自己
            System.out.println(f.getName());
            f.delete();
        }

總結

File:文件和目錄路徑名的抽象表示形式,File 類的實例是不可變的

講了File的構造函數、File的常用功能:創建功能、刪除功能、獲取功能、判斷功能、修改文件名、獲取文件下所有文件、文件夾名字,獲取盤符以及基本的運用查找、刪除。

原文鏈接:https://blog.csdn.net/weixin_44804207/article/details/125716722

欄目分類
最近更新