位元組流
位元組流可以讀取任何檔案
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...