-
(4)transient 關(guān)鍵字
????private transient int stuage; //該元素不會進行jvm默認的序列化
????private void writeObject(java.io.ObjectOutputStream s)throws java.io.IOException{}
????private void readObject(java.io.ObjectInputStream s)throws java.io.IOException,ClassNotFoundException{}
查看全部 -
3.對象的序列化,反序列化
1)對象序列化,就是將Object轉(zhuǎn)換成byte序列,反之叫對象的反序列化
2)序列化流(ObjectOutputStream),是過濾流----writeObject
????反序列化流(ObjectInputStream)---readObject
3)序列化接口(Serializable)
????對象必須實現(xiàn)序列化接口,才能進行序列化,否則將出現(xiàn)異常
????這個接口,沒有任何方法,只是一個標準
查看全部 -
字節(jié)流之文件輸入流FileInputStream-2
查看全部 -
字節(jié)流之文件輸入流FileInputStream-1
查看全部 -
RandomAccessFile基本操作
.seek(0)讀文件,必須把指針移到頭部
查看全部 -
遍歷目錄
.exists()方法用于判斷文件或目錄是否存在
.isDirectory()方法用于判斷File類的對象是否是目錄
.list()方法用于列出當前目錄下的子目錄和文件
.listFiles()返回的是直接子目錄(文件)的抽象
查看全部 -
字符流的過濾器
????BufferedReader --->readLine 一次讀一行
????BufferedWriter/PrintWriter --->寫一行
查看全部 -
2.字符流
1)編碼問題
2)認識文本和文本文件
java的文本(char)是16位無符號整數(shù),是字符的unicode編碼(雙字節(jié)編碼)
文件是byte byte byte 。。。的數(shù)據(jù)序列
文本文件是文本(char)序列按照某種編碼方案(utf-8,utf-16be,bgk)序列化為byte的存儲結(jié)果
3)字符流(Reader Writer)
字符的處理,一次處理一個字符
字符的底層仍然是基本的字節(jié)序列
字符流的基本實現(xiàn)
????InputStreamReader 完成byte流解析為char流,按照編碼解析
????OutputStreamWriter 提供char流到byte流,按照編碼處理
FileReader/FileWriter
查看全部 -
File類
File類只用于表示文件(目錄)的信息(名稱、大小等),不能用于文件內(nèi)容的訪問。
file.exists():判斷文件/文件夾是否存在
file.mkdir():創(chuàng)建文件夾(一級)
file.mkdirs():創(chuàng)建文件夾(多級)
file.delete():刪除文件/文件夾
File.separator設(shè)置分隔符
file.isDirectory():是否是一個目錄
file.isFile():是否是一個文件
.createNewFile():創(chuàng)建文件
查看全部 -
文件的編碼
.getBytes()轉(zhuǎn)換字節(jié)序列是項目默認的。
項目默認編碼是gbk,中文占2個字節(jié),英文占1個字節(jié)。
還有utf-8編碼中文3個字節(jié),英文1個字節(jié)。
utf-16be編碼中英各占2個字節(jié)
.toHexString(名稱 & 0xff)把字節(jié)以16進制的方式顯示。
如果在中文機器上直接創(chuàng)建文本文件,那么該文件只認識ANSI編碼。
查看全部 -
(8)BufferedInputStream & BufferedOutputStream
這兩個流類為IO提供了帶緩沖區(qū)的操作,一般打開文件進行寫入或讀出操作時,都會加上緩沖,這種流模式提高了IO的性能
FileOutputStream--->write()方法相當于一滴一滴地把水“轉(zhuǎn)移”過去
DataOutputStream--->writeXxx() 方法相當于一瓢一瓢
BufferedOutputStream-->write() 相當于一瓢一瓢放到桶里,在倒到水缸中
查看全部 -
(7)DataOutputStream/DataInputStream
????對“流”功能的擴展,可以更加方便地讀取int,log,字符型等類型數(shù)據(jù)
????DataOutputStream
????????writeInt()/writeDouble()/writeUTF()
查看全部 -
(6)FileOutputStream 實現(xiàn)了向文件中寫出byte數(shù)據(jù)的方法
查看全部 -
Integer.toHexString(b) 將整型b轉(zhuǎn)換成16進制表示的字符串
查看全部 -
字節(jié)流
1)InputStream、OutputStream
InputStream抽象了應(yīng)用程序讀取數(shù)據(jù)的方式
OutputStream抽象了應(yīng)用程序?qū)懗鰯?shù)據(jù)的方式
2)EOF=End 讀到-1就讀到結(jié)尾
3)輸入流基本方法
int b=in.read(); 讀取一個字節(jié)無符號填充到int低八位。-1是EOF
in.read(byte[] buf)
in.read(byte[] buf,start,int size)
4)輸出流基本方法
out.write(int b) 寫出一個byte到流,b的低8位
out.write(byte[] buf) 將buf字節(jié)數(shù)組都寫入到流
out.write(byte[] buf,int start,int size)
5)FileInputStream--->具體實現(xiàn)了到文件上讀取數(shù)據(jù)
查看全部
舉報