第0章:程式语言与JAVA的基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第0章:程式语言与JAVA的基础

檔案處理 前言 目前所學的:從使用者取得資料,把資料放在物件或者陣列,然後對這些資料進行處理;在處理完資料之後,將結果列印出來 可是,程式結束後,資料都不見了;如果之後我們需要再次處理相同的資料的時候,怎麼辦? 再讓使用者輸入一次嗎?先不說輸入的過程有可能會輸入錯誤的資料,更何況如果這些資料有上千筆、甚至上萬筆的時候,那 … 我們需要一種機制,把處理的資料儲存起來,然後需要的時候,再把資料讀進來 檔案 資料庫 資料串流 串流 依據處理的資料單位,串流分成兩大類 一類是位元組串流(Byte Stream),其讀寫的單位為位元組(byte) 另一類是字元串流(Character Stream),其讀寫的單位是字元(character) 依據處理的資料流向,串流又可以分成輸入串流(Input Stream)以及輸出串流(Output Stream) Stream 是單行道 串流類別 所有的串流類別都是屬於 java.io 的套件 所有的位元組串流都有一個父類別,依照輸入以及輸出分別定義了 InputStream 和OutputStream 兩個類別。 如果要讀取二進位的檔案,請使用 InputStream 的子類別;如果要輸出一個二進位的檔案,請使用OutputStream 的子類別 所有的字元串流也有一個父類別,依照輸入以及輸出分別定義了 Reader 和 Writer 兩個類別。 如果是讀/寫純文字資料,請使用 Reader/Writer 的子類別 串流類別 不論是 InputStream/OutputStream 或者Reader/Writer,一般都不建議直接使用這四個類別以及其子類別(direct subclasses),因為這些子類別被歸類為低階串流,它們所提供的方法都很少也不好用 一般建議使用的串流類別大多屬於這些類別的子孫類別,我們稱之為過濾串流(Filter Stream) 標準輸出與輸入串流 Java 的標準輸入是 System.in 物件 標準輸入是鍵盤 System.in 是 InputStream 物件 Java 的標準輸出是System.out 物件 標準輸出是螢幕 System.out 是 PrintStream 物件 都是位元組串流 標準輸入串流 Java 利用 System.in 來代表標準輸入 在早期的 JDK 中,並沒有 java.util.Scanner,只能使用 System.in 但是 System.in 很難使用: 原因是:System.in 是 InputStream 物件,而 InputStream 是一個位元組串流(低階串流) 程式中的文字由 String 物件(字元)代表,但是如果用 System.in 來讀取資料,如何將”位元組”依據系統預設的編碼轉成恰當的”字元”便成為非常有挑戰的工作。 將位元組轉換成字元 Java 提供了兩個互轉的類別 InputStreamReader:將位元組串流轉成字元串流 OutputStreamWriter:將字元串流轉成位元組串流 InputStreamReader 使用 InputStreamReader 的程式碼如下 InputStreamReader is = new InputStreamReader(System.in)); 可以想成:產生一個 InputStreamReader 物件,而該物件會將 System.in 傳過來的位元組串流轉換成(系統預設的)字元串流 建議大家多看看 Java API 的文件,從 InputStreamReader 的建構元以及相關方法 例如:read() 可以從字元串流讀取一個字元 InputStreamReader BufferedReader InputStreamReader 提供的方法少,就算讀取一串字元也需要迴圈,有沒有更好用的 Reader 類別? 由於 BufferedReader 會把讀進來的資料先暫時放在一個 Buffer 裡,這樣處理速度會比較快,而且它還提供了 readLine() 方法 將 InputStreamReader 轉換成 BufferedReader 的程式碼如下: BufferedReader input = new BufferedReader(is); BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); 範例 執行結果 練習題 若在 TestSystemIn1 中不使用 BufferedReader,但是卻希望完成同樣的目的,請改寫程式。 若在 TestSystemIn1 中也不使用 InputStreamReader,但是卻希望完成同

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档