-
文件讀寫流
查看全部 -
1、一個類實現了序列化接口,那么其子類都可以進行序列化。
2、對子類對象進行反序列化操作時,
如果其父類沒有實現序列化接口
那么其父類構造函數會被調用
查看全部 -
ArrayList中序列化和反序列化:對于數組中沒放滿的元素不需要序列化。只對有效元素序列化,提高性能,所以需要手動序列化。
transient關鍵字:該元素不會進行jvm默認的序列化
序列化類實現方法簽名
??? private void writeObject(java.io.ObjectOutputStream s)throws java.io.IOException{
?? ??? ?s.defaultWriteObject();//把jvm能默認序列化的元素進行序列化操作
?? ??? ?s.writeInt(stuage);//自己完成stuage的序列化?? ??? ?
?? ?}
?? ?private void readObject(java.io.ObjectInputStream s)
?? ??? ??? ?throws java.io.IOException,ClassNotFoundException{
?? ??? ?s.defaultReadObject();//把jvm能默認反序列化的元素進行反序列化操作
?? ??? ?this.stuage=s.readInt();//自己完成stuae的反序列化操作
?? ?}查看全部 -
對象的序列化,反序列化
查看全部 -
1. PrintWriter的print、println方法可以接受任意類型的參數,而BufferedWriter的write方法只能接受字符、字符數組和字符串;
2. PrintWriter的println方法自動添加換行,BufferedWriter需要顯示調用newLine方法;
3. PrintWriter的方法不會拋異常,若關心異常,需要調用checkError方法看是否有異常發生;
4. PrintWriter構造方法可指定參數,實現自動刷新緩存(autoflush);
5. PrintWriter的構造方法更廣
6.PrintWriter提供println()方法可以寫不同平臺的換行符,而BufferedWriter可以任意設定緩沖大小
查看全部 -
字節字符轉換流
查看全部 -
這兩個流類為IO提供了帶緩沖區的操作,一般打開文件進行寫入或讀出操作時,都會加上緩沖,這種流模式提高了IO的性能
FileOutputStream--->write()方法相當于一滴一滴地把水“轉移”過去
DataOutputStream--->writeXxx() 方法相當于一瓢一瓢
BufferedOutputStream-->write() 相當于一瓢一瓢放到桶里,在倒到水缸中
查看全部 -
DataInputStream 數據輸出流。
DataOutputStream 數據輸入流。
DataInputStream dps=new?DataInputStream (文件輸出流(FileInputStream));
readInt()
readLong()
readDouble()
readUTF()//采用utf-8讀取
DataOutputStream dps=new?DataIOutputStream (文件輸入流(FileOutputStream));
writeInt()
writeLong()
writeDouble()
writeUTF() //采用utf-8
writeChars() //采用utf-16be
查看全部 -
.toHexString(名稱 & 0xff)把字節以16進制的方式顯示。
gbk編碼中文占用2個字節,英文占用1個字節
utf-8編碼中文占用3個字節,英文占用1個字節
utf-16be 中文占用2個字節,英文占用2個字節
如果我們在中文機器上直接創建文本文件,那么該文本文件只認識ansi編碼
中文系統下,ANSI編碼代表GBK編碼
查看全部 -
IO流(輸入流、輸出流)
查看全部 -
IO流(輸入流、輸出流)
查看全部 -
RandomAccessFile基本操作
查看全部 -
java.io.File 類用于表示文件(目錄)
File類只用于表示文件(目錄)的信息(名稱、大小等),不能用于文件內容的訪問。
File file=new File(路徑);
file.exists(); 文件是否存在
file.mkdir(); 新建文件夾
file.delete(); 文件刪除
File.separator 設置分隔符
file.isDirectory(); 判斷文件是否是一個目錄
file.isFile();判斷是否是一個文件
createNewFile(); 創建文件
file.getAbsolutePath() 返回文件路徑
file.getName() 返回文件名字
file.getParent(); 返回父目錄路徑
file.mkdirs(); 創建多級目錄
查看全部 -
.toHexString(名稱 & 0xff)把字節以16進制的方式顯示。
gbk編碼中文占用2個字節,英文占用1個字節
utf-8編碼中文占用3個字節,英文占用1個字節
utf-16be 中文占用2個字節,英文占用2個字節
如果我們在中文機器上直接創建文本文件,那么該文本文件只認識ansi編碼
中文系統下,ANSI編碼代表GBK編碼
當你用字節序列標識某種編碼時,這個字節序列變成字符串,也需要這種編碼方式,否則出現亂碼
查看全部 -
對子類對象進行序列化操作時,父類的構造函數會被調用;對子類對象進行反序列化操作時,如果其父類沒有實現序列化接口,那么其父類的構造函數會被調用。
查看全部
舉報