java 获取文件所在的文件夹_【Java视频教程】day32-文件IO??
File類&遞歸
File類
File類簡介
任何數據在存儲設備(硬盤、光盤、U盤等等)都是以二進制存儲。但是體現出來的文件或文件夾。所以在Java中提供File類,它是專門操作文件或文件夾的。
文件:是最終存放數據的地方。文件夾:存放文件或文件夾的地方。
File類,主要是描述文件和文件夾,并對它們進行操作。
說明:File類對象可以表示文件和文件夾;使用File類表示的文件或者文件夾,可以不是真實存在的;
- 創建
- 刪除
- 判斷
- 獲取
- 改名
- 列舉
File類的構造方法
File類沒有對外提供空參數的構造函數。因為只要存在一個File類,就說明當前File肯定指定的是一個文件或文件夾。
https://www.zhihu.com/video/1072147637138116608File類常用方法
創建文件
直接調用File類的構造函數創建的File類的對象,可以表示硬盤上已有的文件,但對于硬盤上不存在的文件,并不會自動創建;
要在硬盤上創建原本并不存在的文件或文件夾,需要使用File類的創建方法;
File類的創建方法主要可分為兩類,分別是創建文件和文件夾:
使用creatNewFile方法創建出來的,一定是文件,不管后綴名是什么,或者有沒有后綴,創建出來的都是文件;
注意:在使用這個函數創建文件對象時,文件所在的文件夾必須存在;否則會出現找不到路徑錯誤;
注意:創建文件時,這個路徑應該具有可以創建文件的權限;
注意:創建文件夾對象時,如果使用mkdir函數,這個文件的父目錄必須存在,否則不創建,也不報錯;
如果使用mkdirs函數,就算父目錄不存在,也會直接創建一個出來(包括不存在的父目錄一起創建),不會有問題;
注意:
File對象表示的東西,如果在硬盤上已經存在,則是什么就是什么;如果不存在,那么如果調用mkdir或者mkdirs,就創建的是文件夾;
如果調用createNewFile函數,就創建的是文件;
https://www.zhihu.com/video/1072147975668731904絕對路徑: 就是以盤符或“/”開始的路徑,表示本地磁盤上的一個具體位置;
相對路徑: 就是不帶盤符的路徑名,這個路徑是相對于項目的根目錄的位置;
總結:
刪除方法
File類可以在硬盤上創建一個文件或文件夾,也可以刪除它表示的文件或文件夾
注意:
判斷方法
File類對象能夠獲取它所表示的文件或文件夾的信息,同時也提供了一些判斷方法,判斷當前對象的一些屬性;
常用的判斷方法主要有:
注意:如果文件并非真實存在,那么調用兩個判斷方法判斷是否是文件和判斷是否是文件夾,結果都會返回false;
https://www.zhihu.com/video/1072148223409491968修改方法
通過操作File類的對象,只能操作文件或文件夾本身,不能操作里面的數據;
修改文件引用
結論:使用這個函數,可以實現文件的改名和剪切;
https://www.zhihu.com/video/1072148315789066240獲取方法
如果File類的對象在硬盤上有對應的文件,就可以獲取該文件的信息:
如果File對象表示的是文件對象,調用這個函數,得到的結果是準確的;
如果表示的是文件夾, 結果不準確;
https://www.zhihu.com/video/1072149407687905280列舉方法
如果要刪除一個文件夾,必須提前刪除里面所有文件和子文件夾;那么如何獲取一個文件夾里面的子文件和子文件夾呢?
應該使用File類的列舉方法:
列舉文件夾中所有文件:
結論:使用列舉方法,可以得到一個文件夾中所有直接子文件和子文件夾,包括隱藏的;
在使用列舉方法時如果沒有訪問權限或者列舉中出現其它問題,很可能返回的數組時null,此時為了避免后面的操作出現空指針異常,應該提前進行非空驗證;
列舉所有盤符:
除了可以列舉出一個文件夾中的所有子文件夾和子文件,還能列舉整個操作系統的所有磁盤盤符:
https://www.zhihu.com/video/1072149725054238720列舉方法練習:
需求一:遍歷輸出指定文件夾中的所有文件和文件夾;
需求二:獲取并輸出指定文件夾中所有Java文件;
https://www.zhihu.com/video/1072149900938186752總結
以上是生活随笔為你收集整理的java 获取文件所在的文件夹_【Java视频教程】day32-文件IO??的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: adb实时获取屏幕_实时数仓 | 你需要
- 下一篇: 运算符重载 返回类型说明符后加_Java