iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0

Java中,輸入與輸出將會以串流(stream)的方式來實作,舉凡檔案、網路、資料庫輸入輸出等,都是以這個概念呈現。

Java IO(input/output)流是既可以從中讀取,也可以寫入到其中的數據流。正如這個系列教程之前提到過的,流通常會與數據源、數據流向目的地相關聯,比如文件、網絡等等。

流和數組不一樣,不能通過索引讀寫數據。在流中,你也不能像數組那樣前後移動讀取數據。

讀取控制台輸入
Java的控制台輸入由System.in完成。
Scanner scn = new Scanner(System.in);
為了獲得一個綁定到控制台的字符流,你可以把System.in包裝在一個BufferedReader 對像中來創建一個字符流。
JDK 5後的版本我們也可以使用Java Scanner類來獲取控制台的輸入。
控制台輸出,在此前已經介紹過,控制台的輸出由print( )和println( )完成。 這些方法都由類PrintStream 定義,我們常用的 System.out 便是該類對象的一個引用。
PrintStream 繼承了OutputStream類,並且實現了方法write()。 這樣,write()也可以用來往控制台寫操作。

讀寫文件
如前所述,一個流被定義為一個數據序列。 輸入流用於從源讀取數據,輸出流用於向目標寫數據。

FileInputStream
輸入串流用於從文件讀取數據,它的對象可以用關鍵字new來創建。
有多種構造方法可用來創建對象。
可以使用字符串類型的文件名來創建一個輸入流對象來讀取文件:
InputStream f = new FileInputStream("C:/java/hello");

FileOutputStream
該類用來創建一個文件並向文件中寫數據。
如果該流在打開文件進行輸出前,目標文件不存在,那麼輸出串流將會創建該文件。
有兩個構造方法可以用來創建FileOutputStream 對象。
使用字符串類型的文件名來創建一個輸出流對象:
OutputStream f = new FileOutputStream("C:/java/hello");

讀寫文件
另一種方法是透過 FileReader 與 BufferedReader 來進行檔案讀取。
InputStream用來讀取二進位數(bytecode),而 Reader用來讀取文本數據,即 Unicode字符。

以上就是輸入與輸出的內容,明天見囉


Hi, I am Grant.

個人部落格 - https://grantliblog.wordpress.com/
個人網站 - https://grantli-website.netlify.app/#/mainpage
我的寫作專題 - https://vocus.cc/user/5af2e9b5fd89780001822db4#


上一篇
Day13 - 例外處理
下一篇
Day15 - 多執行緒
系列文
30天手把手帶你跟JAVA變成好朋友 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言