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