[Java]讀取InputRead及寫入OutputWrite檔案File

Input及Output也就是IO的存取上,不只有Console輸出、鍵盤輸入這種組合,很常用的還有檔案的讀取及寫入,Java在讀取及寫入檔案上可大略分成二部份,Binary元位組IO及純文字的IO。

常用的class均屬於java.io這個package裡,以下圖表是讀取File檔時可用的相關類別。其相關的api說明可以參考Oracle sun JDK api

JavaIO以行為來分的話,可分成輸出模組及輸入模組,輸出模組像是寫入檔案、輸出至Console,而輸入模組像是讀取檔案、鍵盤輸入等。在類別名稱上可以很清楚的判別,含有字詞Input或Reader就是輸入模組,而含有字詞Output或Writer就是輸出模組。

Java讀取檔案

Stream串流,是一連串有序的的位元組,而且長度未知,就像是水流,InputStream輸入串流就是放水口,而OutputStream輸出串流就是出水口,而中間有個大湖,也就像是資料的處理中心。

底下是一組純文字File讀取、複製(copy)、移動(movie)、刪除(delete)等動作的範例。原始的檔案配置yku目錄package及class所在,目前目錄只有一個text.txt檔案。

SourceFile.png

執行程式java package name.class name,可以看到讀出檔案的內容及其它動作執行的結果。

command.png

查看資料夾內容可以看到被複製的檔案copy.txt及copy2.txt還有移動(複製後刪除)的檔案mv.txt,這三個檔案的內容基本上是一樣的,而write.txt是直接寫入文字的內容。

okFile.png

copy2.txt的內容-先讀檔案後存入記憶體,再一次寫入檔案,當需要把讀取的內容做處理時可以這麼做

copy2.png

copy.txt的內容-指定來源及目地,利用FileReader及FileWriter來讀取及寫入檔案,比上一個動作更方便。

copy.png

mv.txt的內容-原本的text.txt已經被刪除了,copy後再刪除原本檔案

mv.png

write.txt的內容-直接把文字內容寫入檔案裡

write.png

3 thoughts to “[Java]讀取InputRead及寫入OutputWrite檔案File”

  1. 大大的教學好多 都很實用 (拍拍手~~~

    湊一湊都可以出一本程式書了:D

發表迴響