Java 檔案操作入門指南:從零到精通
一、檔案操作基礎
- 建立檔案
建立檔案可以使用 java.<strong class="keylink">io</strong>.File
類別的 createNewFile()
方法。如果檔案已經存在,則該方法會拋出 IOException
例外。
File file = new File("myfile.txt"); file.createNewFile();
- 讀取檔案
讀取檔案可以使用 java.io.FileReader
類別。類別提供了 read()
和 readLine()
方法來讀取檔案內容。
FileReader reader = new FileReader("myfile.txt"); BufferedReader bufferedReader = new BufferedReader(reader); String line; while ((line = bufferedReader.readLine()) != null) { System.out.println(line); } bufferedReader.close();
- 寫入檔案
寫入檔案可以使用 java.io.FileWriter
類別。類別提供了 write()
和 writeLines()
方法來寫入檔案內容。
FileWriter writer = new FileWriter("myfile.txt"); BufferedWriter bufferedWriter = new BufferedWriter(writer); bufferedWriter.write("Hello, world!"); bufferedWriter.newLine(); bufferedWriter.write("This is a new line."); bufferedWriter.close();
- 複製檔案
複製檔案可以使用 java.<strong class="keylink">NIO</strong>.file.Files
類別的 copy()
方法。該方法將來源檔案複製到目標檔案。
Files.copy(Paths.get("myfile.txt"), Paths.get("myfile_copy.txt"));
- 移動檔案
移動檔案可以使用 java.nio.file.Files
類別的 move()
方法。該方法將來源檔案移至目標檔案。
Files.move(Paths.get("myfile.txt"), Paths.get("new_folder/myfile.txt"));
- 刪除檔案
刪除檔案可以使用 java.io.File
類別的 delete()
方法。如果檔案不存在,則該方法會傳回 false
。
File file = new File("myfile.txt"); file.delete();
二、進階檔案操作
- #檔案鎖定
檔案鎖定可以防止多個進程同時存取同一個檔案。 Java 中可以使用 java.nio.channels.FileLock
類別來加鎖檔案。
FileChannel channel = FileChannel.open(Paths.get("myfile.txt"), StandardOpenOption.WRITE); FileLock lock = channel.lock(); // 对文件进行操作 lock.release();
- 檔案元資料
檔案元資料包含檔案的屬性,如檔案大小、建立時間、修改時間等。 Java 中可以使用 java.nio.file.Files
類別的 getAttribute()
和 setAttribute()
方法來取得和設定檔案元資料。
Map<String, Object> attrs = Files.getAttribute(Paths.get("myfile.txt"), "basic"); System.out.println(attrs.get("size")); System.out.println(attrs.get("creationTime")); System.out.println(attrs.get("lastModifiedTime")); Files.setAttribute(Paths.get("myfile.txt"), "creationTime", new FileTime(Instant.now()));
- Java NIO
Java NIO(New Input/Output)是 Java 7 中引入的新 I/O api,它提供了更快的 I/O 效能。 Java NIO 使用非阻塞 I/O,這意味著它可以在不等待 I/O 作業完成的情況下繼續執行其他任務。
Java NIO 中最常用的類別是 java.nio.channels.FileChannel
。類別提供了 read()
和 write()
方法來讀取和寫入檔案。
FileChannel channel = FileChannel.open(Paths.get("myfile.txt"), StandardOpenOption.READ); ByteBuffer buffer = ByteBuffer.allocate(1024); while (channel.read(buffer) > 0) { buffer.flip(); while (buffer.hasRemaining()) { System.out.print((char) buffer.get()); } buffer.clear(); } channel.close();
總結
Java 檔案操作是 Java 程式設計中的基本知識,也是許多應用的基礎。本文介紹了Java 檔案操作的基本知識,從建立、讀取、寫入、複製、移動和刪除檔案開始,到進階操作,如檔案鎖定和元資料操作,以及如何使用檔案操作庫(如Java NIO)來提高性能。希望本文能幫助讀者更能理解並使用 Java 檔案操作。
以上是Java 檔案操作入門指南:從零到精通的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

在使用IntelliJIDEAUltimate版本啟動Spring...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

在使用TKMyBatis進行數據庫查詢時,如何優雅地獲取實體類變量名以構建查詢條件,是一個常見的難題。本文將針...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...
