iT邦幫忙

DAY 18
0

Java重點學習筆記系列 第 18

Java重點筆記十六:Java的文件操作:FileReader & FileWriter

  • 分享至 

  • xImage
  •  

上一篇我們利用FileInputStream跟FileOutputStream來進行文件操作。FileInputStream跟FileOutputStream最大的問題是它以byte(8-bit)來輸入輸出,所以不適合處理16-bit的unicode,如中文字。為了解決這個問題,我們需要引入:FileReader 與 FileWriter。

FileInputStream跟FileOutputStream這種以byte來處理文件的,在Java裡稱為:Byte streams;而FileReader與FileWriter這種以兩個bytes(16-bit)來讀寫的,稱為:Character streams。在Character streams裡每次讀取或寫入都是兩個bytes。

上一篇的例子改為FileReader與FileWriter的版本:

import java.io.*;

public class CopyFile {
   public static void main(String args[]) throws IOException
   {
      FileReader in = null;
      FileWriter out = null;

      try {
         in = new FileReader("input.txt");
         out = new FileWriter("output.txt");
         
         int c;
         while ((c = in.read()) != -1) {
            out.write(c);
         }
      }finally {
         if (in != null) {
            in.close();
         }
         if (out != null) {
            out.close();
         }
      }
   }
}

同樣的,測試這個例子前,先要在程式目錄建立一個"input.txt"的文件,裡面可隨意輸入一些文字。程式會新建一個"output.txt",並將"input.txt"裡面的內容全部複製過去。


上一篇
Java重點筆記十五:Java的文件操作:FileInputStream & FileOutputStream
下一篇
Java重點筆記十七:Java的標準輸入輸出Standard I/O
系列文
Java重點學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言