版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章資料的輸入與輸出10-1基本輸入與輸出的觀念10-2Console類別10-3File類別10-4存取檔案內容10-5多重串接10-1基本輸入與輸出的觀念資料的輸入(Input)與輸出(Output)十分常見在電腦操作上,例如檔案的開啟與儲存。如果分不清楚輸入/輸出的方向,不妨以記憶體的角度來看。2處理輸入/輸出相關的類別放在java.io套件內。310-2Console類別使用Console類別,能夠擷取使用者的輸入,並能將結果輸出給使用者。Console類別的許多方法都可搭配格式字串,而將資料來源格式化。資料類型說明b,B格式化成布林類型。d格式化成整數類型。f格式化浮點數類型。s,S格式化成字串類型。t,T格式化成日期時間類型。日期說明d日,共2位,不足部分補0。m月,共2位,不足部分補0。y年,共2位,不足部分補0。Y年,共4位,不足部分補0。時間說明H時(24時制),共2位,不足部分補0。I時(12時制),共2位,不足部分補0。M分,共2位,不足部分補0。S秒,共2位,不足部分補0。日期/時間說明F相當於「%tY-%tm-%td」。T相當於「%tH:%tM:%tS」。特殊符號說明$指定要格式化的來源參數。0使用0來當填充字元。#不使填充字元。,代表會加上千分位數。.代表小數點。n代表換行。4輸出結果請輸入帳號:ron請輸入密碼:帳號:ron;密碼:123圓週率:3.14現在時間:2008-08-0821:24:23範例說明第5行:Console類別的建構式是private,不能使用「newConsole()」建立Console物件。第6行:呼叫System.console()方法才可以正確取得Console物件。第7行:使用者輸入完畢按Enter鍵後,即會擷取輸入的資料。第8行:使用者輸入完畢按Enter鍵後,即會擷取輸入的密碼,資料類型為字元陣列。第9行:第1個「%s」要格式userName;第2個「%s」要格式化「String.valueOf(password)」。第12行:「newDate()」會取得現在的日期時間。第13行:「%.2f」代表要格式化成float格式,而且四捨五入到小數第2位。「%tF」代表「%tY-%tm-%td」;「%tT」代表「%tH:%tM:%tS」。510-3File類別File類別專門提供檔案、目錄管理的功能,例如檔案的查詢、新增、修改與刪除等功能。File類別不能直接存取檔案內容,若要存取檔案內容,必須改用其他類別,例如:FileReader和FileWriter類別。6輸出結果txt目錄是否建立成功?truenotes.txt檔案是否建立成功?truenotes.txt改名為comment.txt是否修改成功?truecomment.txt檔案是否刪除成功?truetxt目錄是否刪除成功?true7範例說明第3行:使用java.io套件的類別功能大多需要處理IOException。第4行:依照傳入的路徑建立File物件-dir。第5行:結合2個參數的路徑來建立File物件-file。第6行:檢查dir所代表的路徑是否存在。第7行:取得目錄名稱。第8行:依照dir代表的路徑建立目錄。第15行:依照file代表的路徑建立檔案。第16行:將file所代表的檔案設定成暫存檔。第21行:取得父路徑。第25行:將file名稱改成newFile的名稱。第27行:刪除newFile檔案。89輸出結果2008-08-1209:34:51<檔案>623位元組BufferedReaderWriter.java2008-08-0821:45:09<檔案>499位元組ConsoleEx.java2008-08-1214:06:01<檔案>1942位元組FileInfo.class2008-08-1114:44:53<檔案>914位元組FileInfo.java2008-08-1116:48:38<檔案>505位元組FileInOut.java2008-08-1023:51:53<檔案>1027位元組FileManage.java2008-08-1120:18:13<檔案>433位元組FileReaderWriter.java2008-08-1211:12:49<檔案>1335位元組ObjectInOut.java0目錄
8檔案共7278位元組範例說明第5行:「./」代表File物件與目前類別(FileInfo.class)在同一個目錄。第6行:回傳該目錄內的所有File物件,所以回傳類型為File陣列。第11行:回傳最後修改時間並建立Date物件,Date類別的說明可參看下一章。第12行:System.out會取得PrintStream物件,其printf()功能與Console類別的printf()功能相同。第13行:檢查該File物件是否為檔案。第15行:回傳檔案大小。1010-4存取檔案內容檔案內容的存取若以格式來區分,可分成:byte型式:適用於非文字檔。InputStream、OutputStream類別及其子類別是。字元型式:適用於文字檔。Reader、Writer類別及其子類別是。11FileInputStream與FileOutputStream類別FileInputStream與FileOutputStream類別是以byte為單位來存取檔案內容,適用於非文字檔。如果使用FileInputStream類別來讀取文字檔,可能會產生亂碼情形。12輸出結果SCJP???????@?w?????×?A?????n?????A??°????[??...範例說明第6行:資料寫入的對象必須為檔案,所以Java會自動建立對應檔案。第7行:開啟與file檔案之間的連結以準備輸出。第8行:必須呼叫getBytes()方法將notes字串轉成byte陣列後方能寫入。第11行:開啟與file檔案之間的連結以準備輸入。第13行:讀入的數值等於-1就代表檔尾。第14行:將讀入的byte資料轉成char後輸出。13FileReader與FileWriter類別FileReader與FileWriter類別是以字元型式來存取檔案內容,適用於純文字檔。14輸出結果SCJP考試有一定的難度,首先要徹底瞭解基本觀念...範例說明第7行:FileWriter的write()方法可以直接將字串寫入檔案內。第13行:以字元型式讀入資料,即使檔案內容有中文字也不會呈現亂碼。1510-5多重串接資料流十分類似水流,輸送資料需要下述2種管:主幹管:主要目的在於傳輸資料,沒有提供太多的方法讓程式設計師使用。功能管:提供特定功能。功能管串接主幹管,甚至功能管再與其他功能管串接,這種情形就是多重串接。16BufferedReader與BufferedWriter類別BufferedReader與BufferedWriter類別的功能就是會製造緩衝區,等到緩衝區滿了再一次處理,這樣就可以減少資料存取次數而大幅提升效率。17輸出結果SCJP考試有一定的難度,首先要徹底瞭解基本觀念...範例說明第7行:串接了BufferedWriter物件,就具備有緩衝區的功能。第8行:PrintWriter適用於字元型式的輸出上。第14行:串接了BufferedReader物件,就具備有緩衝區的功能。第16行:readLine()方法可以讀入資料,讀到null就代表資料已讀完。18ObjectInputStream與ObjectOutputStream類別ObjectInputStream與bjectOutputStream類別,以物件型式來存取資料。ObjectOutputStream類別會使用序列化(Serialize)方式將物件寫入;而ObjectInputStream類別會使用反序列化(Deserialize)方式將物件讀出。如果有屬性不想被序列化,可以加上transient修飾詞,之後屬性就會直接套用預設初始值。1920輸出結果bookInfo檔案內容如下:--------------------書名:Java程式設計定價:580.0作者:張搧風--------------------書名:JSP程式設計定價:650.0作者:黃會紅--------------------資料讀取完畢!範例說明第2行:Book物件會被序列化,Book類別必須實作Serializable介面。第3行:name是物件,String類別必須實作Serial
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 23090-25:2025 EN Information technology - Coded representation of immersive media - Part 25: Conformance and reference software for carriage of visual volumetric vid
- 二零二五版企业清算注销及税务筹划合同3篇
- 二零二五版供配电设施安全风险评估与治理合同3篇
- 二零二五版锅炉安装与能源审计服务合同范本3篇
- 二零二五版阿拉尔经济技术开发区绿色建筑推广应用合同3篇
- 二零二五版高职高专土建专业校企合作项目合同3篇
- 二零二五版二手车买卖纠纷处理合同3篇
- 二零二五版公益项目合同担保法合规合同3篇
- 二零二五版专业打印设备升级与维护服务合同2篇
- 二零二五版电子商务平台食品农产品溯源合同3篇
- 2025年工程合作协议书
- 2025年山东省东营市东营区融媒体中心招聘全媒体采编播专业技术人员10人历年高频重点提升(共500题)附带答案详解
- 2025年宜宾人才限公司招聘高频重点提升(共500题)附带答案详解
- KAT1-2023井下探放水技术规范
- 驾驶证学法减分(学法免分)题库及答案200题完整版
- 竣工验收程序流程图
- 清华经管工商管理硕士研究生培养计划
- 口腔科诊断证明书模板
- 管沟挖槽土方计算公式
- 国网浙江省电力公司住宅工程配电设计技术规定
- 烟花爆竹零售应急预案
评论
0/150
提交评论