物件流
物件流:object0utputstream/0bjectinputstream
增強了緩衝區功能
增強了讀寫8種基本資料型別和字串功能
增強了讀寫物件的功能
1.read0bject() 從流中讀取乙個物件
2.write0bject(0bject obj) 向流中寫入乙個物件
使用流傳輸物件的過程稱為序列化、反序列化
eg :
public class student implements serializablepublic student(string name, int age)
public string getname()
public void setname(string name)
public int getage()
public void setage(int age)
@override
public string tostring() ';
}}
/*** 使用objectoutputstream實現物件的序列化
* 要求:
* 1.序列化類必須要實現serializable介面
* 2.序列化類中物件屬性要求實現serializable介面
* 3.序列化版本號id,保證序列化的類和反序列化的類是同乙個類
* 4.使用transient修飾屬性(瞬間的),這個屬性不能序列化
* 5.靜態屬性不能序列化
* 6.序列化多個物件,可以借助集合實現
* @author
*/public class demo06
}
public class demo07列印流}
printwriter:
封裝了print() / println()方法,支援寫入後換行
支援資料原樣列印
eg :
public class demo07轉換流}
橋轉換流:inputstreamreader/outputstreamwriter
可將位元組流轉換為字元流
可設定字元的編碼方式
eg :
public class demo01//3.關閉
isr.close();
}}
public class demo02字元編碼//3.關閉
osw.close();
system.out.println("執行換行");
}}
iso-8859-1收錄除ascii外,還包括西歐、希臘語、泰語、阿拉伯語、希伯來語對應的文字元號
utf-8 針對unicode碼表的可變長度字元編碼
gb2312 簡體中文
gbk 簡體中文、擴充
big5台灣,正體中文
當編碼方式和解碼方式不一致時,會出現亂碼
轉換流 緩衝流
輸入 輸出流體系中提供了兩個轉換流,這兩個轉換流用於實現將位元組流轉換為字元流。1.1outputstreamwriter outputstreamwriter 是字元流通向位元組流的橋梁 可使用指定的字元編碼表,將要寫入流中的字元編碼成位元組。它的作用的就是,將字串按照指定的編碼表轉成位元組,在使...
檔案流和轉換流亂碼
實際開發中經常會遇到文字類檔案的讀寫或者是檔案複製傳輸等等 如果這個時候搞不清楚使用什麼樣的流就會亂碼,複製後的檔案打不開 要用什麼流由你的檔案的儲存結構 字元檔案還包括編碼集 和用途決定 使用緩衝和位元組陣列的位元組流複製檔案 public void copyfile string sourcef...
IO流之轉換流
查閱outputstreamwriter的api介紹,outputstreamwriter 是字元流通向位元組流的橋梁 可使用指定的字元編碼表,將要寫入流中的字元編碼成位元組。它的作用的就是,將字串按照指定的編碼表轉成位元組,在使用位元組流將這些位元組寫出去。public static void w...