首頁 > Java > java教程 > Java中的檔案處理

Java中的檔案處理

WBOY
發布: 2023-08-18 15:45:12
轉載
1024 人瀏覽過

在Java程式設計中,來自java.io套件的File類別在檔案操作中扮演關鍵角色。透過建立這個類別的物件並指定檔案的名稱,我們可以有效地操作檔案。

但是為什麼檔案處理如此重要?

檔案處理在程式語言中具有重要意義,因為它使我們能夠將程式輸出儲存在檔案中,並對其進行各種操作。基本上,文件處理涉及從文件中讀取和寫入資料的行為。

您使用流來對檔案進行輸入/輸出(I/O)操作。了解Java中如何進行文件操作是非常重要的,因此要熟悉這個概念。

Java中的流

Java有兩種類型的流:輸入流用於讀取數據,輸出流用於寫入資料。

輸入流

Java的InputStream類別作為所有輸入流的超類別。輸入流負責從各種輸入裝置(如鍵盤或網路連接)讀取資料。雖然InputStream是一個抽象類,本身並不直接有用,但它的子類別用於讀取資料。

InputStream類別的一些值得注意的子類別包括:

  • AudioInputStream

  • #ByteArrayInputStream

  • FileInputStream

  • ##FilterInputStream

  • #StringBufferInputStream

  • #ObjectInputStream

##輸出流

另一方面,輸出流負責將資料寫入各種輸出設備,如顯示器或檔案。 OutputStream類別作為表示輸出流的抽象超類別。與InputStream類似,OutputStream也是抽象的,並需要使用其子類別來寫入資料。

OutputStream 類別的一些值得注意的子類別包括:

  • ByteArrayOutputStream

  • #FileOutputStream

  • ##StringBufferOutputStream

  • #ObjectOutputStream

  • ##DataOutputStream

  • ##PrintStream

根據處理的資料類型,流可以分為兩種類型:位元組流和字元流。

Java中的檔案方法

Java中的File類別提供了一組用於處理文件的有用方法。以下是File類別的幾個重要方法:

方法名稱

方法的意義

#傳回類型

canRead()

#檢查檔案是否可讀

#布林值

canWrite()

#檢查您是否可以寫入檔案

布林值

createNewFile()

這個方法建立一個空檔案

布林值

delete()

#幫助你刪除檔案

#布林值

exists()

#檢查檔案是否存在

#布林值

length()

#這個方法傳回檔案的總大小(以位元組為單位)

getName()

#傳回檔案的名稱

#String

list()

#傳回目錄中的檔案陣列

String[]

#mkdir()

這個函數建立一個新目錄

布林值

getAbsolutePath()

這個函數傳回一個檔案的絕對路徑名

String

建立一個檔案

在Java中,CreateNewFile()方法用來建立一個新檔案。當成功建立一個新檔案時,輸出將傳回true。在所有其他情況下,它將返回false。

createNewFile()

下面是此操作的範例程式碼。

演算法

  • 步驟 1:首先,我們需要導入必要的 java 類別:"java io file" 和 "java io io exception"。

  • 步驟2:接下來我們將建立一個公共類別。這裡我們選擇了一個FileExample。

  • 第三步:在類別中定義主方法。

  • 第四步:為異常管理開始一個try-catch區塊。

  • 步驟 5:在 try 區塊內建立一個名為 "myfile.txt" 的新檔案物件。

  • 步驟6:使用其「建立新檔案」方法來實際建立檔案。

  • 步驟 7:我們將使用 if else 語句來檢查這個過程是否成功。

  • 第8步:如果建立成功,我們將列印“檔案已建立”,然後是透過file.getName()方法取得的檔案名稱。

  • 步驟 9:否則,如果文件已經存在,我們將列印"文件已經存在"。

  • 步驟 10:結束 if-else 語句。

  • 第11步:結束try區塊。

  • 第12步:捕獲可能發生的任何IOException並列印錯誤訊息。

  • 步驟13:列印異常的堆疊追蹤。

  • 第14步:作為最後一步,讓我們退出程式

#Example

的中文翻譯為:

範例

import java.io.File;
import java.io.IOException;

public class FileExample {
    public static void main(String[] args) {
        try {
            File file = new File("myfile.txt");
            if (file.createNewFile()) {
                System.out.println("File created: " + file.getName());
            } else {
                System.out.println("File already exists.");
            }
        } catch (IOException e) {
            System.out.println("An error has occurred.");
            e.printStackTrace();
        }
    }
}

登入後複製

輸出

File created: myfile.txt
登入後複製

從檔案中讀取

在Java中,有許多方法可以讀寫文字檔。以下是幾種讀取純文字檔案的方式:

  • 使用BufferedReader類別:透過緩衝數據,BufferedReader類別允許高效率讀取。它逐行遍歷文件。

  • 使用Scanner類別:Scanner類別包含處理和讀取輸入的方法。它能夠逐行讀取文字檔案。

  • 使用FileReader類別:FileReader類別用於讀取字元檔案。它逐個字元或按給定的緩衝區大小讀取檔案。

  • 將整個檔案讀入到一個清單中:您可以使用Java 8的流API將整個檔案讀入字串清單中,其中每一行都是不同的元素。

  • 將文字檔案當作字串讀取:您可以使用Java 8的流API將整個檔案內容讀取為單一字串。

寫入檔案

要將文字寫入文件,可以使用FileWriter類別。它允許您將資料寫入檔案。

FileWriter()

的翻譯為:

FileWriter()

Algorithm:

  • 步驟 1:建立一個名為 FileExample 的公共類別。

  • 第二步:在類別中定義主方法。

  • 第三個步驟:開始一個try-catch區塊以進行異常處理。

  • 第四步:在try區塊內,使用檔案名稱"myfile.txt"建立一個名為writer的新FileWriter物件。

  • 步驟5:使用writer物件的write()方法將文字"Files in Java are seriously good!!"寫入。

  • 步驟 6:使用 close() 方法關閉 writer 物件。

  • 步驟 7:列印 "成功寫入。" 來表示寫入成功。

  • 第八步:結束try區塊。

  • 步驟 9:捕獲可能發生的任何 IOException 並列印錯誤訊息。

  • 步驟10:列印異常的堆疊追蹤。

  • 步驟11:關閉程式

Example

的中文翻譯為:

範例

import java.io.FileWriter;
import java.io.IOException;

public class FileExample {
    public static void main(String[] args) {
        try {
            FileWriter writer = new FileWriter("myfile.txt");
            writer.write("Files in Java are seriously good!!");
            writer.close();
            System.out.println("Successfully has been written.");
        } catch (IOException e) {
            System.out.println("An error has occurred.");
            e.printStackTrace();
        }
    }
}

登入後複製

輸出

Successfully has been written.
登入後複製

刪除檔案

要刪除文件,您可以使用File類別的delete()方法。如果檔案成功刪除,它將傳回true。

delete()

的翻譯為:

delete()

這段Java程式碼示範了使用File類別進行檔案刪除。它建立了一個名為"myfile.txt"的File物件。如果delete()成功,將顯示已刪除檔案的名稱。如果失敗,將顯示一個失敗訊息。輸出確認了成功刪除"myfile.txt"。

演算法

  • 步驟1:建立一個名為file的新File物件。

  • 步驟2:將要刪除的檔案名稱作為參數傳遞。在這個例子中,我們使用的檔案名稱是"myfile.txt"。

  • 第三步:寫一個if語句,用於驗證在此檔案中是否成功執行'delete()'

  • 步驟4:如果您成功刪除了文件,您可以使用file.getName()來輸出「已刪除的文件是:」以及檔案的名稱。

  • 第五步:如果我們的刪除嘗試失敗,我們的輸出將是"無法刪除檔案。"

  • #步驟 6:最後,結束 if 語句。

  • 第7步:不用說,完成程式。

Example

的中文翻译为:

示例

import java.io.File;

public class FileExample {
    public static void main(String[] args) {
        File file = new File("myfile.txt");
        if (file.delete()) {
            System.out.println("The deleted file is: " + file.getName());
        } else {
            System.out.println("Failed to delete the file.");
        }
    }
}
登入後複製

输出

Failed to delete the file.
登入後複製

结论

在Java中,文件处理对于操作文件和执行各种操作非常重要。File类允许我们有效地创建对象并处理文件。对于文件的输入/输出(I/O)操作,您可以使用流。在Java中,您可以使用createNewFile()、delete()和length()方法来处理文件,如本文所讨论的。

BufferedReader、Scanner和FileReader方法有助于读取文本文件。使用FileWriter可以将内容写入文件。在Java中,有效处理文件对于高效的数据存储和恢复至关重要。

以上是Java中的檔案處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板