更新時間:2022-06-01 10:54:58 來源:動力節點 瀏覽1395次
動力節點小編為大家總結了Java文件操作的方法。在 Java 中,文件是一種抽象數據類型。用于存儲相關信息的命名位置稱為File。有幾個文件操作,例如創建新文件、獲取有關文件的信息、寫入文件、讀取文件和刪除文件。
在了解 File 操作之前,我們需要了解Stream和File方法。如果你對它們都有了解,你可以跳過它。
一系列數據稱為流。在Java中,流分為字節流和字符流兩種。
字節流主要涉及字節數據。具有字節流的文件處理過程是提供輸入并利用字節數據執行的過程。
字符流主要涉及字符數據。具有字符流的文件處理過程是用字符數據提供和執行輸入的過程。
要了解有關流的更多信息,請單擊此處。
我們可以對文件進行如下操作:
創建文件
獲取文件信息
寫入文件
從文件中讀取
刪除文件
執行創建文件操作以創建新文件。我們使用文件的createNewFile()方法。createNewFile()方法在成功創建新文件時返回 true,在文件已存在時返回 false。
讓我們以一個創建文件的例子來了解我們如何使用createNewFile()方法來執行這個操作。
創建文件.java
// 導入文件類
導入 java.io.File;
// 導入 IOException 類來處理錯誤
導入 java.io.IOException;
類 創建文件 {
公共靜態無效 主要(字符串參數[]){
試試 {
// 創建文件對象
文件 f0 = new File( "D:FileOperationExample.txt" );
如果 (f0.createNewFile()){
System.out.println( "文件" + f0.getName() + "創建成功。" );
} 其他 {
System.out.println( "目錄中已經存在文件。" );
}
} 捕捉 (IOException 異常){
System.out.println( "出現意外錯誤。" );
異常.printStackTrace();
}
}
}
輸出:
解釋:
在上面的代碼中,我們分別導入了 File 和 IOException 類來執行文件操作和處理錯誤。我們創建 File 類的f0對象并指定我們要創建文件的目錄的位置。在 try 塊中,我們通過f0對象調用createNewFile()方法在指定位置創建一個新文件。如果該方法返回 false,它將跳轉到 else 部分。如果有任何錯誤,它將在 catch 塊中處理。
執行該操作以獲取文件信息。我們使用幾種方法來獲取有關文件的信息,例如名稱、絕對路徑、可讀性、可寫性和長度。
下面我們通過一個例子來了解如何使用文件方法來獲取文件的信息。
文件信息.java
// 導入文件類
導入 java.io.File;
類 文件信息 {
公共靜態無效 主要(字符串[]參數){
// 創建文件對象
文件 f0 = new File( "D:FileOperationExample.txt" );
如果 (f0.exists()){
// 獲取文件名
System.out.println( "文件名是:" + f0.getName());
// 獲取文件路徑
System.out.println( "文件的絕對路徑為:" + f0.getAbsolutePath());
// 檢查文件是否可寫
System.out.println( "文件是否可寫:" + f0.canWrite());
// 檢查文件是否可讀
System.out.println( "文件是否可讀" + f0.canRead());
// 獲取文件的長度(以字節為單位)
System.out.println( "文件大小為:" + f0.length());
} 其他 {
System.out.println( "該文件不存在。" );
}
}
}
輸出:
描述:
在上面的代碼中,我們導入了java.io.File包并創建了一個類FileInfo。在 main 方法中,我們創建了我們在前面的示例中創建的文本文件的對象。我們使用條件語句檢查文件是否存在,如果存在,我們將獲得有關該文件的以下信息:
我們使用getName() 獲取文件名
我們使用文件的getAbsolutePath()方法獲取文件的絕對路徑。
我們檢查是否可以使用canWrite()將數據寫入文件
我們檢查是否可以使用canRead()讀取文件的數據
我們使用length()獲取文件的長度
如果文件不存在,我們會顯示一條自定義消息。
我們可以對文件執行的下一個操作是“寫入文件”。為了將數據寫入文件,我們將一起使用FileWriter類及其write()方法。我們需要使用close()方法關閉流以檢索分配的資源。
讓我們舉個例子來了解我們如何將數據寫入文件。
WriteToFile.java
// 導入 FileWriter 類
導入 java.io.FileWriter;
// 導入 IOException 類來處理錯誤
導入 java.io.IOException;
類 WriteToFile {
公共靜態無效 主要(字符串[]參數){
試試 {
FileWriter fwrite = new FileWriter( "D:FileOperationExample.txt" );
// 將內容寫入 FileOperationExample.txt 文件
fwrite.write( "用于存儲相關信息的命名位置稱為文件。" );
// 關閉流
fwrite.close();
System.out.println( "內容成功寫入文件。" );
} 捕捉 (IOException e){
System.out.println( "發生意外錯誤" );
e.printStackTrace();
}
}
}
輸出:
解釋:
在上面的代碼中,我們導入了java.io.FileWriter和java.io.IOException類。我們創建了一個 WriteToFile 類,在它的 main 方法中,我們使用了try-catch塊。在 try 部分,我們創建 FileWriter 類的一個實例,即fwrite。我們調用 FileWriter 類的write方法并將內容傳遞給我們要編寫的函數。之后,我們調用FileWriter 類的close()方法來關閉文件流。在寫入內容并關閉流之后,我們打印一條自定義消息。
如果我們在 try 部分遇到任何錯誤,它會跳轉到 catch 塊。在 catch 塊中,我們處理IOException并打印自定義消息。
我們可以對文件執行的下一個操作是“從文件中讀取”。為了將數據寫入文件,我們將使用Scanner類。在這里,我們需要使用close()方法關閉流。我們將創建一個Scanner 類的實例并使用hasNextLine()方法 nextLine()方法從文件中獲取數據。
讓我們舉個例子來了解我們如何從文件中讀取數據。
ReadFromFile.java
// 導入文件類
導入 java.io.File;
// 導入 FileNotFoundException 類來處理錯誤
導入 java.io.FileNotFoundException;
// 導入 Scanner 類以讀取文本文件
導入 java.util.Scanner;
類 ReadFromFile {
公共靜態無效 主要(字符串[]參數){
試試 {
// 創建文件的f1對象來讀取數據
文件 f1 = new File( "D:FileOperationExample.txt" );
掃描儀數據讀取器 = 新 掃描儀(f1);
而 (dataReader.hasNextLine()){
字符串文件數據 = dataReader.nextLine();
System.out.println(fileData);
}
dataReader.close();
} 捕捉 (FileNotFoundException 異常){
System.out.println( "發生意外錯誤!" );
異常.printStackTrace();
}
}
}
輸出:
解釋:
在上面的代碼中,我們導入了“java.util.Scannner”、“java.io.File”和“java.io.IOException”類。我們創建了一個ReadFromFile類,在它的 main 方法中,我們使用了try-catch 塊。在 try 部分,我們創建了Scanner和File類的實例。我們將File類對象傳遞給Scanner類對象,然后使用“While”迭代掃描器類對象循環并打印文件的每一行。我們還需要關閉掃描器類對象,所以我們使用 close() 函數。如果我們在 try 部分遇到任何錯誤,它會跳轉到 catch 塊。在 catch 塊中,我們處理 IOException 并打印自定義消息。
我們可以對文件執行的下一個操作是“刪除文件”。為了刪除文件,我們將使用文件的delete()方法。我們不需要使用close()方法關閉流,因為要刪除文件,我們既不使用 FileWriter 類,也不使用 Scanner 類。
讓我們舉個例子來了解我們如何將數據寫入文件。
刪除文件.java
// 導入文件類
導入 java.io.File;
類 刪除文件 {
公共靜態無效 主要(字符串[]參數){
文件 f0 = new File( "D:FileOperationExample.txt" );
如果 (f0.delete()){
System.out.println(f0.getName()+ "文件刪除成功。" );
} 其他 {
System.out.println( "刪除文件時發現意外錯誤。" );
}
}
}
輸出:
解釋:
在上面的代碼中,我們導入File類并創建一個類DeleteFile。在類的 main() 方法中,我們創建要刪除的文件的f0對象。在if語句中,我們使用 f0 對象調用文件的delete()方法。如果 delete() 方法返回 true,我們將打印成功的自定義消息。否則,它會跳轉到我們打印不成功的自定義消息的 else 部分。
上述所有操作都用于以編程方式讀取、寫入、刪除和創建文件。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習