使用Scanner類別實作Java檔案的逐行讀取和寫入
#在Java程式中,我們經常需要讀取和寫入文件,而逐行讀取和寫入檔案是其中常見的需求之一。在處理大型檔案時,逐行讀取和寫入可以提高程式的效率,避免記憶體溢出的問題。在本文中,我們將會介紹如何使用Java中的Scanner類別來實現檔案的逐行讀取和寫入操作,並提供具體的程式碼範例。
首先,我們需要建立一個文字檔案來測試這個功能。在你的工程中建立一個名為"test.txt"的文字文件,檔案中包含幾行文字內容。
接下來,我們需要使用Java的Scanner類別來逐行讀取檔案內容。下面是讀取檔案的程式碼範例:
import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class ReadFileExample { public static void main(String[] args) { // 指定文件路径 File file = new File("test.txt"); try { // 使用Scanner类读取文件 Scanner scanner = new Scanner(file); // 逐行读取文件内容 while (scanner.hasNextLine()) { String line = scanner.nextLine(); System.out.println(line); } // 关闭Scanner对象 scanner.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } } }
上述程式碼首先建立了一個File對象,指定了要讀取的檔案路徑。接著使用Scanner類別讀取這個文件,並透過while循環逐行讀取文件內容。最後關閉Scanner對象,釋放資源。
我們也可以使用Scanner類別實作檔案逐行寫入操作。以下是寫入檔案的程式碼範例:
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class WriteFileExample { public static void main(String[] args) { // 指定文件路径 File file = new File("output.txt"); try { // 创建FileWriter对象 FileWriter writer = new FileWriter(file); // 使用Scanner类读取用户输入 Scanner scanner = new Scanner(System.in); // 逐行写入文件 System.out.println("请输入要写入文件的内容:"); String line = scanner.nextLine(); while (!line.equals("exit")) { writer.write(line + " "); line = scanner.nextLine(); } // 关闭FileWriter和Scanner对象 writer.close(); scanner.close(); } catch (IOException e) { e.printStackTrace(); } } }
上述程式碼首先建立了一個名為"output.txt"的文件,用於存放寫入的內容。接著創建了一個FileWriter對象,用於將資料寫入檔案。然後使用Scanner類別讀取使用者輸入,並透過while循環逐行寫入檔案。當使用者輸入"exit"時,循環結束。最後關閉FileWriter和Scanner物件。
以上就是使用Scanner類別實作Java檔案的逐行讀取和寫入的範例程式碼。透過這些範例程式碼,你可以快速開始使用Scanner類別來處理檔案的讀取和寫入,並根據實際需求進行適當的調整和擴充。希望本文對您有幫助!
以上是使用Scanner類實作Java檔案的逐行讀寫操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!