Java —— 檔案類(File 類)
【概述】
File 類是一個與流無關的類,存放在 java.io 包下,File 類的物件可以獲取檔案、檔案目錄、檔案長度等資訊。
建立一個 File 類物件時,若其代表的檔案不存在,系統不會自動建立,必須要呼叫 createNewFile() 方法來建立。
File 的方法僅涉及到檔案的建立、刪除、重新命名等等,無法涉及到檔案內容,對檔案內容的修改,必須使用 IO 流來處理,因此,File 類的物件常用於做 IO 流具體類的構造器的形參。
【路徑】
路徑是在建立 File 類物件以及流使用時不可迴避的問題,要注意的有兩方面:反斜槓與斜槓的書寫、絕對路徑與相對路徑
1.反斜槓與斜槓
由於反斜槓 " \ " 無法直接輸出,因此在寫路徑時,要用兩個反斜槓(前一個用於轉義) " \\ ",例如:" D:\\xxx\\xx.txt "
如若覺得寫兩個反斜槓過於繁瑣,則也可在寫路徑時用一個斜槓 " / " 代替,例如:" D:/xxx/xx.txt "
2.絕對路徑與相對路徑
絕對路徑:包括碟符在內的完整的檔案路徑
相對路徑:在當前檔案目錄下的檔案的路徑
例如:當前包的路徑是:" D:\\Test ",其中有一文字檔案 " hello.txt "
則:絕對路徑是:" D:\\Test\\hello.txt ",相對路徑是:" hello.txt "
【構造器】
1.File(String pathname) 方法
File(String pathname) 構造方法通過指定的檔案路徑字串來建立一個新的 File 例項物件
pathname:檔案絕對路徑字串
File file = new File("D:\\Test\\Example.txt");
2.File(String path,String filename) 方法
File(String path,String filename) 構造方法根據指定的父路徑字串和子路徑字串建立 File 類的例項物件
path:父路徑字串
filename:子路徑的檔名字串
File file = new File("D:\\Test","Example.txt");
3.File(File file,String filename) 方法
File(File file,String filename) 構造方法根據指定的 File 類的父路徑和字串型別的子路徑建立 File 類的例項物件
file:父路徑的物件
filename:子路徑檔名字串
File file1 = new File("D:\\Test");
File file2 =new File(file1,"example.txt");
【常用方法】
1.詢問檔案
getName() | 獲取檔名 |
getParent() | 獲取檔案父路徑字串 |
getPath() | 獲取檔案相對路徑字串 |
getAbsolutePath() | 獲取檔案絕對路徑字串 |
2.檔案檢測
exists() | 判斷檔案或資料夾是否存在 |
canRead)( | 判斷檔案是否可讀 |
canWrite() | 判斷檔案是否可寫 |
isFile() | 判斷檔案是否是一個檔案而非目錄 |
isDirectory() | 判斷檔案是否是資料夾型別 |
isHidden() | 判斷是不是隱藏檔案 |
isAbsolute() | 判斷是不是絕對路徑 |
3.檔案及目錄操作
createNewFile() | 建立一個新檔案 |
delete() | 刪除檔案或資料夾,刪除成功返回 true |
renameTo(File newName) | 將當前檔名重新命名為指定檔名 newName,要求當前檔案必須存在,指定檔案毋需存在 |
mkdir() | 建立目錄(只有上層目錄存在的情況下),建立成功返回 true |
mkdirs() | 建立路徑中包含的所有父目錄和子目錄(即上層目錄不存在一併建立),若所有父目錄和子目錄都成功建立,則返回 true |
4.獲取常規資訊
length() | 獲取檔案長度 |
lastModified() | 獲取檔案最後修改日期 |
list() | 以 String 型別的形式讀取資料夾中的檔名 |
listFiles() | 以 File 型別的形式讀取資料夾中的檔案 |
對於 list() 方法與 listFiles() 方法以下兩種用法等價:
File file=new File("D:\\Test");
String[] str=file.list();
for(int i=0;i<str.length;i++)
System.out.println(str[i]);
File[] files=file.listFiles();
for(int i=0;i<files.length;i++)
System.out.println(files[i].getName());
相關文章
- Java : File 檔案類操作Java
- 【JAVA :File類的用法(一)】File類的構造方法-File類建立檔案與資料夾Java構造方法
- 【Java】File類Java
- JAVA程式設計學習記錄(File類檔案操作)Java程式設計
- java筆記-file類Java筆記
- Java 對 properties 檔案操作 (ResourceBundle 類和 Properties 類)Java
- java 檔案處理 工具類Java
- Java™ 教程(管理原始檔和類檔案)Java
- #Java教程:File類:檔案、目錄的建立、刪除、判斷、getXXX、canXXX @FDDLCJava
- Java 的異常以及File類Java
- Java File類的簡單使用Java
- Java讀取Json檔案工具類JavaJSON
- JAVA類檔案操作和異常Java
- java 上傳 下載檔案工具類Java
- 類檔案結構_class類檔案的的結構
- File類的特點?如何建立File類物件?Java中如何操作檔案內容,什麼是Io流Io流如何讀取和寫入檔案?位元組緩衝流使用原則?物件Java
- Java虛擬機器——類檔案結構Java虛擬機
- File類的使用
- C#File類C#
- dedecms主要類檔案
- 檔案操作類FileUtil
- java進階(34)--File類、目錄複製Java
- ServletFileUpload類上傳檔案Servlet
- File、Blob、ArrayBuffer等檔案類的物件有什麼區別和聯絡物件
- Java虛擬機器,類檔案結構深度解析Java虛擬機
- Java虛擬機器之Class類檔案結構Java虛擬機
- [java IO流]之 隨機訪問檔案(RandomAccessFile類)Java隨機randomMac
- File類 -《學堂線上》
- C#File讀寫類C#
- io流-file類的使用
- Java程式設計基礎20——異常&IO(File類)Java程式設計
- c++ IO類,檔案操作C++
- Linux中的檔案種類Linux
- C# 檔案IO常用類C#
- 【JVM】深入解析class類檔案JVM
- java 壓縮(解壓)檔案或者資料夾工具類Java
- 深入學習Java虛擬機器——類檔案結構Java虛擬機
- 深入理解Java虛擬機器(類檔案結構)Java虛擬機