09 位元組流 字元流

2021-10-03 10:14:14 字數 2802 閱讀 4597

位元組流

位元組流可以讀取任何檔案

outputstream:

流物件必須傳入路徑,有 使用,無 建立

outputstream是乙個抽象類,無法直接使用

構造方法的作用:

建立乙個流物件

將流物件指向建立好的檔案

流使用結束後要close,可以釋放記憶體

傳輸時是以位元組為基本單位,即乙個二進位制數

是否需要追加寫需要在宣告流物件時宣告,而不是在write方法中宣告

換行符:

windows   \r\n ;

unix  \n ;

mac  \r  從 mac os x開始與linux統一。

inputstream:

是乙個抽象類,無法直接使用

一次讀取多個位元組時:

格式:fileinputstream stream = new fileinputstream("a.txt");

byte b = new byte[1024]; // 一般設定位元組陣列的大小為:1024

int len;     

string s="";

string s1;

while ((len=stream.read(b))!=-1){

s1=new string(b,0,len);  // 將位元組陣列直接轉化為字串

s+=s1;

system.out.println(s);

字元流:

專門用來處理文字檔案,不能處理非文字檔案

和位元組流一樣,只是最基本單位不一樣

reader:

抽象類,無法直接使用

public int read() : 從輸入流讀取乙個字元,返回的依舊是乙個int型資料

filereader:檔案字元輸入流 

writer:

抽象類,無法直接使用

filewriter:

可以直接寫入字串 

不是直接寫入硬碟,而是先寫入記憶體緩衝區,再寫入硬碟

flush :重新整理緩衝區,流物件可以繼續使用。

close :先重新整理緩衝區,然後通知系統釋放資源。流物件不可以再被使用了。

換行與續寫:

與fileoutputstream一樣

屬性集 properties:

和map集合類似

唯一乙個能與io流關聯起來的集合

鍵和值都是字串

基本的儲存方法:

public object setproperty(string key, string value) : 儲存一對屬性。

public string getproperty(string key) :使用此屬性列表中指定的鍵搜尋屬性值。

public setstringpropertynames() :所有鍵的名稱的集合。

格式:properties properties = new properties();

properties.setproperty("迪麗熱巴","18歲");

properties.setproperty("古力娜扎","19歲");

properties.setproperty("馬爾扎哈","20歲");

setstrings = properties.stringpropertynames();

for (string s : strings) {

system.out.println(s+" "+properties.getproperty(s));

store:將集合中的資料寫入磁碟

public void store(outputstream out , string comments) :

位元組流不能寫中文

string comments:注釋,用來說明的,不能使用中文

public void store(writer writer , string comments) :

**:properties properties = new properties();

properties.setproperty("迪麗熱巴","18歲");

properties.setproperty("古力娜扎","19歲");

properties.setproperty("馬爾扎哈","20歲");

filewriter writer = new filewriter("a.txt");

properties.store(writer,"asd"); // asd是注釋

writer.close();

load:將磁碟中的鍵值對讀入集合

方便處理磁碟中的檔案

public void load(inputstream instream) : 從位元組輸入流中讀取鍵值對。

不能使用中文

public void load(reader reader) : 從位元組輸入流中讀取鍵值對。

**:properties properties = new properties();

filereader reader = new filereader("a.txt");

properties.load(reader);

reader.close();

setstrings = properties.stringpropertynames();

for (string s : strings) {

system.out.println(s+"="+properties.getproperty(s));

儲存鍵值對的檔案中:

鍵與值的預設連線號可以是:=  ; 空格

可以使用 # 進行注釋,注釋的行不會被讀取

位元組流 字元流

fileoutputstream 構造 構造方法摘要 fileoutputstream file file 建立輸出流,不是以續寫方式關聯 fileoutputstream string name 建立輸出流,不是以續寫方式關聯 作用 1.建立乙個輸出流物件 2.如果你關聯的檔案,或者檔案的字串不存...

位元組流,字元流

在程式中所有的資料都是以流的方式進行傳輸或者儲存的,程式需要資料的時候需要使用輸入流讀取資料,而當程式需要將一些資料儲存起來的時候,就要使用輸出流。可以通過下面的輸入輸出流關係圖表示這種方式。位元組流 位元組流主要操作byte型別資料,以byte陣列為準,主要操作類是outputstream類和in...

位元組流 字元流 位元組緩衝流 字元緩衝流

位元組讀流 fileinputstream fis new fileinputstream file byte b new byte 1024 int len 0 while len fis.read b 1 字元讀流 filereader fr new filereader file char c...