使用 Channel 和 Buffer 編寫檔案
要使用 Channel
將資料寫入檔案,我們需要執行以下步驟:
- 首先,我們需要得到一個
FileOutputStream
的物件 - 從
FileOutputStream
獲取FileChannel
呼叫getChannel()
方法 - 建立一個
ByteBuffer
然後用資料填充它 - 然後我們必須呼叫
ByteBuffer
的flip()
方法並將其作為write()
方法的引數傳遞給FileChannel
- 完成寫作後,我們必須關閉資源
import java.io.*;
import java.nio.*;
public class FileChannelWrite {
public static void main(String[] args) {
File outputFile = new File("hello.txt");
String text = "I love Bangladesh.";
try {
FileOutputStream fos = new FileOutputStream(outputFile);
FileChannel fileChannel = fos.getChannel();
byte[] bytes = text.getBytes();
ByteBuffer buffer = ByteBuffer.wrap(bytes);
fileChannel.write(buffer);
fileChannel.close();
} catch (java.io.IOException e) {
e.printStackTrace();
}
}
}