Snowdream
posts - 403, comments - 310, trackbacks - 0, articles - 7
BlogJava
::
首頁
::
新隨筆
::
聯系
::
聚合
::
管理
2.23 Java notes - Simple Input and Output
Posted on 2007-04-22 20:24
ZelluX
閱讀(537)
評論(0)
編輯
收藏
所屬分類:
OOP
2007-02-23 14:53:10
先把教材的最后一章看了再說
1. File class
四個常量:pathSeparator, pathSeparatorChar, separator, separatorChar
與常量命名慣例沖突。
2. 幾乎所有的I/O類的方法會拋出java.io.IOException,在使用時必須聲明或使用try塊。
3. 文本IO
兩個基類Reader和Writer,下面分別有InputStreamReader BufferedReader FileReader PrintWriter等子類。
基類的方法Core Java中已經看了一部分了。
PrintWriter類并不會拋出IOException
4. FileReader / FileWriter
Reader及其子類訪問一個并不存在的文件會拋出IOException的子類FileNotFoundException。
判斷文件結尾:input.read() == -1
FileWriter的常用構造方法:
java.io.FileWriter(java.io.File)
java.io.FileWriter(java.lang.String)
java.io.FileWriter(java.io.File, boolean append)
java.io.FileWriter(java.lang.String, boolean append)
如果文件已經存在,前面兩個構造器會清除該文件的所有內容。使用后面兩個構造器,并設置append為true可以防止這種情況。
也可以在寫入前判斷:
if (file.exites()) {
System.out.println(“File temp.txt already exites”);
System.exit(0);
}
5. InputStreamReader / InputStreamWriter
可以在byte和char之間轉換。編碼方式可以是默認的,也可以由用戶指定。
getEncoding()方法返回當前的編碼方式名(String)。由于FileReader和FileWriter是他們的子類,因此也可以使用這個方法。
6. BufferedReader / BufferWriter
使用了一個字符數組作為緩沖區,減少讀寫次數,以提高讀寫速度。
在輸入時,預先讀入字符;輸出時,先把內容暫存在數組中,分塊輸出到輸出流。
構造器
java.io.BufferedReader(java.io.Reader)
java.io.BufferedReader(java.io.Reader, int)
java.io.BufferedWriter(java.io.Writer)
java.io.BufferedWriter(java.io.Writer, int)
int指定了緩沖區大小,默認為8192字節。
可以用BufferedReader/Writer類“包裝”任何Reader/Writer流。
String BufferedReader.readLine()方法返回一行不帶有換行符的文本,沒有則返回null。
void BufferWriter.newLine()方法寫入一個換行符
7. PrintWriter / PrintStream
以文本形式輸出對象、字符串或者數值。PrintWriter被設計用于代替PrintStream,兩者的輸出功能幾乎相同,但是前者更高效。
System.out就是一個靜態的PrintStream對象,默認為屏幕控制端,可以通過System.setOut(PrintStream)重新設置。
兩者都有許多重載的print/println方法,以及和C相似的printf。
PrintWriter的構造器(并不會拋出IOException異常)
public PrintWriter(Writer out)
public PrintWriter(Writer out, boolean autoFlush)
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
為什么Python中的self必須保留?
Python中inner function的binding處理
C# From a Java Programmer's Perspective
Singleton模式與雙檢測鎖定(DCL)
C# 學習筆記 (1)
Java Puzzler - 數值處理中容易犯的錯誤
Java3D 入門筆記 (1)
Java 的類庫真是方便啊
Java泛型中的? super T語法
Project3 成功轉移到Ubuntu
Powered by:
BlogJava
Copyright © ZelluX
日歷
<
2007年4月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
(390)
Algorithm(57)
C/C++(39)
Courses(15)
Economics(2)
Laboratory(25)
Linux(47)
Mathematics(12)
OOP(89)
Scripting(19)
Security(3)
System(28)
Web(10)
書、電影、音樂(11)
其他(14)
點滴(19)
隨筆檔案
(389)
2009年12月 (1)
2009年4月 (1)
2009年3月 (4)
2009年2月 (2)
2009年1月 (2)
2008年11月 (1)
2008年10月 (9)
2008年9月 (1)
2008年7月 (2)
2008年6月 (4)
2008年5月 (12)
2008年4月 (18)
2008年3月 (7)
2008年2月 (33)
2008年1月 (19)
2007年12月 (8)
2007年11月 (14)
2007年10月 (24)
2007年9月 (18)
2007年8月 (28)
2007年7月 (33)
2007年6月 (26)
2007年5月 (30)
2007年4月 (92)
文章檔案
(7)
2007年7月 (2)
2007年5月 (4)
2007年4月 (1)
相冊
Illustration
15ers
jonathan的BLOG
Right There...
宙斯魚的小魚缸
小鮑的世界
簡單幸福
逃遁的Persephone
阿繆爾的錦瑟
風之語的BLOG
友情鏈接
(04CS) ljh
(05CS) 小菜虎的窩
(06CS) FreePeter
(06SS) Overboming
(06SS) Sherry
(06SS) 十指飛揚
(06SS) 銀色子彈
luohandsome的專欄
平淡是真——啃啃不老閣
收藏夾
[ADN.cn]Library
Debian學習筆記
Dictionary of Algorithms and Data Structures
Gollum
Lex&Yacc
Max On Java
techInterview Discussion
核桃仁
程序員面試題精選100題
鐵手
搜索
積分與排名
積分 - 336898
排名 - 168
最新隨筆
1.?新博客
2.?慎用xen的make world...
3.?內存模型相關的資料
4.?安全方面的經典論文:A Logic of Authentication
5.?Lock-Free 算法的幾個鏈接
6.?10 Papers Every Programmer Should Read
7.?PieTTY中按Ctrl+S導致掛起的問題解決
8.?Finding and Reproducing Heisenbugs in Concurrent Programs
9.?Ubuntu 8.10 瀏覽網頁不穩定的解決方法
10.?[zz]蘇南經濟模式興衰親歷記
最新評論
1.?re: C/C++中的序列點
說的太好了,解決我長久的困擾!
--除美滅日平韓
2.?re: 原來GCC是支持尾遞歸的遞推優化的
評論內容較長,點擊標題查看
--darkhorse
3.?re: Arch下配置samba服務
我按照你的方法,安裝了SAMBA,但是 /etc/rc.d/samba start 啟動不了samba服務。提示不存在這個文件或目錄的,怎么辦?
--zhangbear
4.?re: [zz]LKM Rootkits on Linux x86 v2.6
rhel 5 系列 安裝了 Xen 內核, 怎么rootkit xen kernel 呢?
--消息
5.?re: CLRS 習題 16.2-6 部分背包問題的O(n)算法
@ynnej
T(n)=2T(n/2)+O(n) 才是 nlgn 注意其中有一個2
--荒廢庭院
閱讀排行榜
1.?[zz]vim+ctags+taglist插件安裝使用(18313)
2.?memcpy函數代碼分析(9387)
3.?[zz]Zotero與Endnote的互相導入(8779)
4.?BNF 文法 (1) - 語法樹 | 二義性的解決(8265)
5.?Java泛型中的? super T語法(6562)
評論排行榜
1.?C# 學習筆記 (1)(14)
2.?Windows - QQ、網頁Flash視頻無聲音的解決方法(14)
3.?URAL 1011(10)
4.?《編程之美》上的一道題目的討論(8)
5.?Singleton模式與雙檢測鎖定(DCL)(7)
主站蜘蛛池模板:
忻州市
|
伊吾县
|
双江
|
雷州市
|
蒙城县
|
尉犁县
|
丰镇市
|
平陆县
|
孝义市
|
化隆
|
灵台县
|
英德市
|
方山县
|
纳雍县
|
石台县
|
化隆
|
静安区
|
西安市
|
汝州市
|
峨眉山市
|
普兰店市
|
无为县
|
白玉县
|
共和县
|
五家渠市
|
齐河县
|
汤阴县
|
双峰县
|
昭觉县
|
韩城市
|
汉中市
|
凤翔县
|
泾川县
|
龙陵县
|
亚东县
|
德安县
|
连江县
|
家居
|
遂溪县
|
富阳市
|
永登县
|