字元流,列印流,合併流,序列化流,屬性集合類

2021-08-06 06:33:06 字數 3426 閱讀 9082

1.

字元緩衝流裡面有特殊的功能(重點)

字元緩衝輸出流的特殊方法

public void

newline()throws ioexception :寫入乙個行的分隔符號!

字元緩衝輸入流的特殊方法:

public string

readline() throws ioexception:一次讀取一行:

包含該行內容的字串,不包含任何行終止符,如果已到達流末尾,則返回 null 

public static void main(string args) throws ioexception 

//字元緩衝輸出流寫資料

bufferedwriter bw = new bufferedwriter(new filewriter("b.txt"));

for(int x =0;x<10;x++)

bw.close();

}}

字元緩衝輸入流:

public bufferedreader(reader in)建立乙個使用預設大小輸入緩衝區的緩衝字元輸入流。

從字元輸入流中讀取文字,緩衝各個字元,從而實現字元、陣列和行的高效讀取。 

public class bufferedreaderdemo 

char chs = new char[1024] ;

int len = 0 ;

while((len=br.read(chs)) !=-1)

//關閉資源

br.close();

}}

複製文字檔案:

將當前專案下的a.txt------>b.txt檔案中

第一種:讀寫操作:

字元流一次讀取乙個字元陣列進行讀寫操作

public static void main(string args) throws ioexception 

bw.close();

br.close();

}}

第二種:

讀寫操作:

字元流一次讀取一行的特有方法讀寫操作

public static void main(string args) throws ioexception 

bw.close();

br.close();

}

2.操作基本資料型別的流:

datainputstream :資料輸入流

dataoutputstream:資料輸出流

public class demo1

3.列印流:

位元組列印流:printstream

字元列印流:printwriter

該流:不能運算元據源,只能操作目的的資料:該流只能寫資料,不能讀資料

該流可以自動重新整理

該流還可以針對文字資料進行操作

學習的流哪些流可以針對文字資料操作

(只要構造方法中有file物件或者string型別的路徑都是可以對文字進行操作的)

fileoutputstream

fileinputstream

filerwriter

filereader

bufferedreader

bufferedwriter

public static void main(string args) throws ioexception 

bos.close();

sis.close();

}}

合併流的另一種構造方式:

//public sequenceinputstream(enumeration e)

public class demo2 

sis.close();

bos.close();

}}

5.序列化流:將物件按照流的形式(在網路進行傳輸等等)封裝成流資料:物件--->流資料:objectoutputstream

反序列化流:將網路傳輸中的流資料又封裝成了乙個物件: 流資料-->物件   objectinputstream

public class objectstreamdemo 

//反序列化

private static void read() throws exception

//序列化

private static void write() throws exception

}

6.properties :屬性集合類(用作txt格式的配置檔案)

這個類是hashtbale的子類,而hashtable也map下面的雙列集合

put()方法,新增元素

注意:properties:不帶泛型!

properties裡面的特殊功能:

public object setproperty(string key,string value):和新增相關的:

public setstringpropertynames():獲取所有的鍵的集合

public string getproperty(string key):獲取指定的屬性集合中的鍵的值

public class propertiesdemo2 

}}

public void load(reader reader):將文字檔案的資料讀取集合中

public void store(writer writer, string comments):將集合中的資料儲存到文字檔案中

comments:屬性列表的描述

//將集合中的資料儲存到文字檔案中

public static void main(string args) throws ioexception

}

例子知道資料是鍵值對形式的,但是不知道內容是什麼。

請寫乙個程式判斷是否有「lisi」這樣的鍵存在,如果有就改變其實為」100」

1)先將檔案中的資料載入到集合中

2)獲取鍵的集合,遍歷鍵的集合

判斷:如果"lisi"就是裡面的key,

是的話就修改

3)重新將集合中的資料保持到檔案中

public class propertiestest 

} //重新儲存

writer w = new filewriter("user.txt") ;

prop.store(w, null);

//釋放資源

w.close();

}}

序列化 物件 流 列印流

j a 提供了一種物件序列化的機制。用乙個位元組序列可以表示乙個物件,該位元組序列包含該物件的資料 物件的型別和物件中儲存的屬性等資訊。位元組序列寫出到檔案之後,相當於檔案中持久儲存了乙個物件的資訊。反之,該位元組序列還可以從檔案中讀取回來,重構物件,對它進行反序列化。物件的資料 物件的型別和物件中...

序列化流與反序列化流

序列化流 寫操作 將物件變成流資料進行傳輸,例如儲存在乙個檔案裡,在網路中傳輸。物件 流資料 objectoutputstream 反序列化流 讀操作 將檔案中的流物件資料或者網路中的流物件資料還原成物件。流資料 物件 objectinputstream 注意點 序列化物件要實現序列化介面 建立反序...

列印流和序列流

io包中的其他類 1 列印流 a printwriter和printstream 可以直接操作輸入流和檔案 2 序列流 a sequenceinputstream 對多個流進行合併 3.操作物件 objectinputstream與objectoutputstream 被操作的物件需要實現seria...