使用 Channel 和 Buffer 編寫檔案

要使用 Channel 將資料寫入檔案,我們需要執行以下步驟:

  1. 首先,我們需要得到一個 FileOutputStream 的物件
  2. FileOutputStream 獲取 FileChannel 呼叫 getChannel() 方法
  3. 建立一個 ByteBuffer 然後用資料填充它
  4. 然後我們必須呼叫 ByteBufferflip() 方法並將其作為 write() 方法的引數傳遞給 FileChannel
  5. 完成寫作後,我們必須關閉資源
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();
  }
 }
}