java複習第7天---7.3---IO流---File類

java複習第7天---7.3---IO流---File類


目錄




內容

1、File

1.1、概述

  File爲java對於文件和目錄路徑的抽象表示,主要用於文件和目錄的創建,刪除,遍歷等待操作。

  • file : 文件
  • directory:目錄
  • path:路徑

1.2、靜態成員

  • 靜態成員變量
修飾符 數據類型 變量名 描述
static String pathSeparator 路徑與路徑間的分隔符,系統相關;Windows:’;’ ,Linux: ‘:’
static String separator 路徑內分隔符,系統相關; Windows:’’,Linux: ‘/’
  • 示例1.2-1:

      package io.file;
    
      import java.io.File;
    
      public class TestFile1 {
      	public static void main(String[] args) {
      		System.out.println(File.pathSeparator);
      		System.out.println(File.separator);
      	}
      }
      測試結果:
      ;
      \
    

1.3、構造方法

  • 常用構造方法
修飾符 方法名 參數 描述
public File String pathname 根據給定的路徑創建File對象
public File String parent, String child 根據給定的父路徑,子路徑創建File對象
public File File parent, String child 根據給定的父File,子路徑創建File對象
  • 示例1.3-1:

      package io.file;
    
      import java.io.File;
    
      public class TestFileConstructor1 {
      	public static void main(String[] args) {
      		String parent = "F:\\train\\resource\\06-File類與IO流";
      		String child = "1_8_1_04_File類的構造方法.avi";
    
      		File file = new File(parent);
      		System.out.println(file);
    
      		File file1 = new File(parent, child);
      		File file2 = new File(file, child);
    
      		System.out.println(file1);
      		System.out.println(file2);
    
      	}
      }
      測試結果:
      F:\train\resource\06-File類與IO流
      F:\train\resource\06-File類與IO流\1_8_1_04_File類的構造方法.avi
      F:\train\resource\06-File類與IO流\1_8_1_04_File類的構造方法.avi
    

1.4、常用功能

1.4.1、查詢

  • 常用方法:
修飾符 返回值類型 方法名 參數列表 描述
public String getAbsolutePath 獲取絕對路徑
public String getPath 返回此抽象路徑名稱的字符串表示
public String getName 返回此抽象路徑名稱表示的文件名或者目錄名
public String getParent 返回此抽象路徑的父路徑
public long getLength 返回文件的長度
  • 示例1.4.1-1:

      package io.file;
    
      import java.io.File;
    
      public class TestFileQuery {
      	public static void main(String[] args) {
      		String str = "F:\\train\\resource\\06-File類與IO流\\1_8_1_04_File類的構造方法.avi";
      		File file = new File(str);
    
      		System.out.println(file.getAbsolutePath());
      		System.out.println(file.getParent());
      		System.out.println(file.getPath());
      		System.out.println(file.getName());
      		System.out.println(file.length());
      	}
      }
      測試結果:
      F:\train\resource\06-File類與IO流\1_8_1_04_File類的構造方法.avi
      F:\train\resource\06-File類與IO流
      F:\train\resource\06-File類與IO流\1_8_1_04_File類的構造方法.avi
      1_8_1_04_File類的構造方法.avi
      0
    

1.4.2、判斷

  • 常用方法
修飾符 返回值類型 方法名 參數列表 描述
public boolean exists 路徑是否存在
public boolean isDirectory 是不是目錄
public boolean isFile 是不是文件
  • 示例1.4.2-1:

      package io.file;
    
      import java.io.File;
    
      public class TestFileJuge {
      	public static void main(String[] args) {
      		String parent = "F:\\train\\note\\複習day07";
      		String child = "java複習第7天---7.2----Lambda表達式.md";
    
      		File file = new File(parent, child);
    
      		System.out.println(file.exists());
      		System.out.println(file.isDirectory());
      		System.out.println(file.isFile());
      	}
      }
      測試結果:
      true
      false
      true
    

1.4.3、創建刪除

  • 常用方法:
修飾符 返回值類型 方法名 參數列表 描述
public boolean createNewFile 當且僅當該文件不存在時,創建該文件
public boolean delete 刪除此抽象路徑表示的文件或者目錄
public boolean mkdir 創建此抽象路徑名命名的目錄
public boolean mkdirs 創建此抽象路徑名命名的目錄,包含任何必需但是不存在的目錄
  • 示例1.4.3-1:

      F:\test>dir
       驅動器 F 中的卷是 data
       卷的序列號是 0BF6-07BE
    
       F:\test 的目錄
    
      2020/05/27  16:02    <DIR>          .
      2020/05/27  16:02    <DIR>          ..
      			   0 個文件              0 字節
      			   2 個目錄 132,684,869,632 可用字節
      			   
      package io.file;
    
      import java.io.File;
      import java.io.IOException;
    
      public class TestFileNewAndDelete {
      	public static void main(String[] args) throws IOException {
      		String parent = "f:\\test";
      		String child1 = "a.txt";
      		String child2 = "b\\c\\d";
      		String child3 = "hello";		
    
      		new File(parent, child1).createNewFile();
      		new File(parent, child2).mkdirs();
      		new File(parent, child3).mkdir();
    
      	}
      }
    
      測試結果:
      F:\test>tree
      卷 data 的文件夾 PATH 列表
      卷序列號爲 0BF6-07BE
      F:.
      ├─b
      │  └─c
      │      └─d
      └─hello
    

1.4.4、絕對路徑和相對路徑

  • 絕對路徑:windows從盤符開始,到當前文件或者目錄的路徑表示;linux系統從跟/開始。

  • 相對路徑:確定相對的位置,以此位置爲基礎到當前文件或者目錄的路徑

  • 示例1.4.4-1:

    • f:\a\b\c\d.txt:表示絕對路徑
    • 相對f:\a\b路徑,c\d.txt爲相對路徑

1.4.5、File類遍歷

  • 遍歷方法
修飾符 返回值類型 方法名 參數列表 描述
public String[] list 返回此抽象路徑下目錄和文件
public String[] list FilenameFilter filter 返回此抽象路徑滿足過濾器的目錄和文件
public File[] listFiles 返回此抽象路徑的下的目錄和文件的File對象
public File[] listFiles FileFilter filter 返回此抽象路徑滿足過濾器的目錄和文件File對象
  • 過濾器類#3部分在講解

  • 示例1.4.5-1:遍歷F:\test目錄

      package io.file;
    
      import java.io.File;
    
      public class TestFileList1 {
      	public static void main(String[] args) {
      		String parent = "f:\\test";
    
      		File file = new File(parent);
    
      		if(file.isDirectory()) {
      			String[] strs = file.list();
      			for(String str: strs) {
      				System.out.println(str);
      			}
      		}
      	}
      }
      測試結果:
      a.txt
      b
      b.txt
      c.java
      d.bmp
      hello
      src
    

後記

本項目爲參考某馬視頻開發,相關視頻及配套資料可自行度娘或者聯繫本人。上面爲自己編寫的開發文檔,持續更新。歡迎交流,本人QQ:806797785

前端項目源代碼地址:https://gitee.com/gaogzhen/vue-leyou
    後端JAVA源代碼地址:https://gitee.com/gaogzhen/JAVA

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章