1、區(qū)分:讀 寫
2、常用流
文件流:(讀寫文件)
FileInputStream/FileOutputStream
數(shù)據(jù)流:(讀寫int,double,String)
DataInputStream/DataOutputStream
逐行讀寫流:(逐行讀寫文本信息)
BufferedReader/PrintStream(PrintWriter)
轉(zhuǎn)換流:(字節(jié)流和字符流沒有任何關(guān)系,必須通過轉(zhuǎn)換流)
InputStreamReader OutputStreamWriter
對象流:(讀寫任意的對象)
ObjectInputStream/ObjectOutputStream
3、編碼/解碼 什么叫做編碼,什么叫做解碼?
內(nèi)存----》顯示 編碼
編碼 unicode----》gbk,gb2312,utf-8 一般輸出
ImageIODemo <用這個提問 讀 寫 編碼 解碼>
文件---》內(nèi)存 內(nèi)存----》文件
//將內(nèi)存image對象寫入到文件中, 就需要編碼/序列列化
CardsIODemo:
1、創(chuàng)建撲克牌 (內(nèi)存中)
2、隨機(jī)排列后寫入文件 輸入還是輸出?
OutputStream out = new FileOutputStream(file);
DataOutputStream dos = new DataOutputStream(out);
3、 將文件cards.dat 讀取為Card的集合others read or write
DataInputStream dis =
new DataInputStream(
new BufferedInputStream(//增加輸入緩沖流,自動處理緩沖
new FileInputStream(file)));
淺層復(fù)制 深層復(fù)制 (看圖片)
CharEncodingDemo
String str = "ABCDE中國";寫出到文件中,需要 編碼 or 解碼?
用不同的編碼寫到文件里,從文件里讀出來
將16位unicode char序列編碼為 byte序列, 使用編碼方案
utf-16be 2個字節(jié)
UTF-8 英文1個字節(jié) 中文三個字節(jié)
/GBK 中文本地編碼, 中國標(biāo)準(zhǔn)支持全部中國字符(20000+)
//采用變長編碼: 1~2字節(jié) 其中英文是1字節(jié), 中文2字節(jié)
//GBK不能支持全部國際字符, unicode 到GBK是碼表轉(zhuǎn)換實(shí)現(xiàn)
//GB2312 是 GBK 子集, GB2312 支持6000+常用漢字
// 中: 4e2d
// GBK: d6 d0
// GB2312:d6 d0
// 玥 喆 镕 發(fā)
byte[] gbk = str.getBytes("GBK");//unicode編碼為GBK
亂碼問題是每個程序員都會遇到的問題,這塊要弄明白,以后就不會被亂碼問題困擾了
InputStreamReaderDemo 會從基本byte流讀取數(shù)據(jù)并解碼為char字符
InputStream in = new FileInputStream(file);
InputStreamReader reader=new InputStreamReader(in,"UTF-8")
BufferedReaderDemo
// InputStream is = new FileInputStream(file);
// InputStreamReader reader=new InputStreamReader(is,"gbk");
// BufferedReader in = new BufferedReader(reader);
OutputStreamWriterDemo
* OutputStreamWriter 也是一個流功能擴(kuò)展, 依賴于OutputStream
* OutputStreamWriter 提供了write(int) 方法, 參數(shù)的低16位數(shù)據(jù)
* (char 數(shù)據(jù)) 進(jìn)行編碼, 編碼為byte序列, 寫入到 OutputStream
* OutputStream 的write(byte) 寫出一byte, 是int的低八位
* OutputStreamWriter 的write(char)編碼char為byte寫出到底層流
PrintWriterDemo
PrintWriter out = new PrintWriter(
new OutputStreamWriter(
new BufferedOutputStream(
全國職稱計算機(jī)考試速成過關(guān)系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 | |
全國職稱計算機(jī)考試速成過關(guān)系列套裝:W .. 定價:¥124 優(yōu)惠價:¥124.0 更多書籍 |