網(wǎng)站首頁 編程語言 正文
一、File類
??????? java中我們通過java.io.File類實(shí)現(xiàn)對(duì)文件的基本屬性進(jìn)行操作,包括文件屬性讀取,文件創(chuàng)建,文 件刪除,文件添加等等。File是一個(gè)類,那么在使用的時(shí)候就需要?jiǎng)?chuàng)建對(duì)象,但是File類的實(shí)例是不可變 的,也就是說,一旦創(chuàng)建,由File對(duì)象表示的抽象路徑名將永遠(yuǎn)不會(huì)改變,也就是說利用構(gòu)造方法,指定 路徑名、文件名等來構(gòu)造File類的對(duì)象,之后調(diào)用該對(duì)象的createNewFile()方法就可以創(chuàng)建出相應(yīng)的文 件。 File類的對(duì)象可以代表一個(gè)具體的文件路徑,在實(shí)際運(yùn)用種,可以使用絕對(duì)路徑也可以使用相對(duì)路徑。
二、File工具類構(gòu)造方法
構(gòu)造方法 | 說明 |
new File("d:\test\test.txt") | 指定的目錄下建立文件,如果路徑不存在,則建立虛擬file對(duì)象 |
new File("test.txt") | 在當(dāng)前項(xiàng)目根目錄下建立文件 test.txt |
new File("d:\test") | test可以是個(gè)目錄,也可能是個(gè)文件 |
new File("d:\test\","test.dat") | 指定目錄下,建立指定的文件 |
File f1=new File("d:\\test\\test.txt"); //指定的目錄下建立文件,如果路徑不存在,則建立虛擬file對(duì)象
File f2=new File("test.txt"); //在當(dāng)前項(xiàng)目根目錄下建立文件 test.txt
File f3=new File("d:\\test");//test可以是個(gè)目錄,也可能是個(gè)文件
File f4=new File("d:\\test\\","test.dat");//指定目錄下,建立指定的文件
?????? 1. File(String pathname) 通過將給定路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新 File 實(shí)例。如果給定字符串是空字符串,那 么結(jié)果是空抽象路徑名。
?????? 2. File(File parent, String child) 根據(jù) parent 抽象路徑名和 child 路徑名字符串創(chuàng)建一個(gè)新 File 實(shí)例,如果 parent 為 null,則創(chuàng)建一個(gè)新的 File 實(shí)例,這與調(diào)用給定 child 路徑名字符串的單參數(shù) File 構(gòu)造方法的 效果一樣。否則,parent 抽象路徑名用于表示目錄,child 路徑名字符串用于表示目錄或文件。如果 child 路徑名字符串是絕對(duì)路徑名,則用與系統(tǒng)有關(guān)的方式將它轉(zhuǎn)換為一個(gè)相對(duì)路徑名。如果 parent 是空抽象路徑名,則通過將 child 轉(zhuǎn)換為抽象路徑名,并根據(jù)與系統(tǒng)有關(guān)的默認(rèn)目錄解析結(jié)果來創(chuàng)建 新的 File 實(shí)例。否則,將每個(gè)路徑名字符串轉(zhuǎn)換為一個(gè)抽象路徑名,并根據(jù)父抽象路徑名解析子抽象 路徑名。
?????? 3. File(String parent, String child) parent指定路徑(父目錄),可以是File類對(duì)象也可以是字符串,child中也可以加入路徑層級(jí),但要 注意,所用的路徑必須存在,不存在的路徑不會(huì)新建。
?????? 4. File(URI uri) 通過將給定的 file: URI轉(zhuǎn)換為一個(gè)抽象路徑名來創(chuàng)建一個(gè)新的 File 實(shí)例,這個(gè)一般用的比較少。
三、常用方法
方法 | 說明 |
File.delete() | 刪除文件或空目錄文件夾目錄 |
File.createNewFile() | 創(chuàng)建一個(gè)新的空文件 |
File.mkdir() | 創(chuàng)建一個(gè)新的空文件夾 |
File.mkdirs() | 批量建立多級(jí)目錄 |
File.list() | 獲取指定目錄下的文件和文件夾名稱 |
File.listFiles() | 獲取指定目錄下的文件和文件夾對(duì)象 |
File.exists() | 文件或者文件夾是否存在 |
String getParent() | 返回父目錄的路徑名字符串;如果沒有指定父目錄,則返回 null |
File getParentFile() | 返回父目錄File對(duì)象 |
String getName() | 返回文件或文件夾的名稱 |
String getAbsolutePath() | 獲取絕對(duì)路徑 |
String getPath() | 返回路徑名字符串 |
long lastModified() | 返回文件最后一次被修改的時(shí)間 |
long length() | 獲取長度,字節(jié)數(shù) |
boolean canRead() | 判斷是否可讀 |
boolean canWrite() | 判斷是否可寫 |
boolean isHidden() | 判斷是否隱藏 |
long getFreeSpace() | 返回分區(qū)中未分配的字節(jié)數(shù) |
long getTotalSpace() | 返回此文件分區(qū)大小 |
long getUsableSpace() | 返回占用字節(jié)數(shù) |
nt hashCode() | 文件哈希碼 |
四、File屬性的常用方法
方法 | 說明 |
static File[] listRoots() | 列出可用的文件系統(tǒng)根 |
boolean renameTo(File dest) | 重命名,剪切粘貼文件,移動(dòng) 文件 |
boolean setExecutable(boolean executable) | 設(shè)置執(zhí)行權(quán)限 |
boolean setExecutable(boolean executable, boolean ownerOnly) | 設(shè)置其他所有用戶的執(zhí)行權(quán)限 |
boolean setLastModified(long time) | 設(shè)置最后一次修改時(shí)間 |
boolean setReadable(boolean readable) | 設(shè)置讀權(quán)限 |
boolean setReadable(boolean readable, boolean ownerOnly) | 設(shè)置其他所有用戶的讀權(quán)限 |
boolean setWritable(boolean writable) | 設(shè)置寫權(quán)限 |
boolean setWritable(boolean writable, boolean ownerOnly) | 設(shè)置所有用戶的寫權(quán)限 |
五、File類總結(jié)
?????? 1. File類的直接父類是Object類。一個(gè)File類的對(duì)象,表示了磁盤上的文件或目錄。如果你創(chuàng)建文 件或者文件夾忘了寫盤符路徑,那么,默認(rèn)在項(xiàng)目路徑下。
?????? 2. 在不同的計(jì)算機(jī)操作系統(tǒng)中,路徑分割符號(hào)是不同的。windows系統(tǒng)的路徑分隔符【\】與 Unix系統(tǒng)的路徑分隔符【/】不一樣。
原文鏈接:https://blog.csdn.net/xiaobaistudyjava/article/details/126978917
相關(guān)推薦
- 2022-09-01 python中的生成器、迭代器、裝飾器詳解_python
- 2022-04-07 C++11時(shí)間日期庫chrono的使用_C 語言
- 2023-06-03 C#利用后綴表達(dá)式解析計(jì)算字符串公式_C#教程
- 2022-05-08 react實(shí)現(xiàn)導(dǎo)航欄二級(jí)聯(lián)動(dòng)_React
- 2023-11-20 【ROS】用roslibpy庫在windows上用python 連接Ubuntu ROS
- 2022-07-26 繞過正則表達(dá)式例子
- 2022-08-01 C++鏈?zhǔn)蕉鏄渖钊敕治鯻C 語言
- 2022-07-07 詳解Git?的?rebase?命令使用方法_相關(guān)技巧
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支