一、inputstream
位元組流的read方法,可以是以下方式:
read(byte b)
read(byte b, int off, int len)
1.1 fileinputstream
當乙個檔案是二進位制資料的時候,使用fileinputstream進行讀取,基本建構函式:
fileinputstream(file file)
fileinputstream(string name)
1.2 filterinputstream
filterinputstream作為一些其他位元組流輸入類的父類
1.2.1 bufferedinputstream
內部建立乙個緩衝區,可以使讀取更有效率:
bufferedinputstream(inputstream in)
1.2.2 datainputstream
建立乙個與機器底層無關的資料輸入流,構造方法:
datainputstream(inputstream in)
有眾多讀取方法,readboolean()、readbyte() 、readchar() 、readdouble() 、readfloat() 、readint() 、readutf() 等
另外這個類不是執行緒安全
1.2.3 pushbakinputstream
通過unread方法把資料複製,然後把資料放回資料流的頭部,構造方法:
pushbackreader(reader in)
1.3 objectinputstream
通常使用objectoutputstream寫入的物件,使用objectinputstream讀取,該物件必須是可序列化的
objectinputstream(inputstream in)
1.4 pipedinputstream
與字元流的類似,需要使用connect繫結pipedoutputstream
1.5 sequenceinputstream
合併輸入流,可以把輸入流放入容器中進行合併:
vectorv = new vector();
v.add(new fileinputstream("c:\\1.txt"));
v.add(new fileinputstream("c:\\2.txt"));
v.add(new fileinputstream("c:\\3.txt"));
enumerationen = v.elements();
sequenceinputstream sis = new sequenceinputstream(en);
也可以把兩個輸入流作為引數放入建構函式中
sequenceinputstream(inputstream s1, inputstream s2)
1.6 stringbufferinputstream
java IO流 位元組流讀寫中文
位元組流讀取中文的問題 位元組流在讀中文的時候有可能會讀到半個中文,造成亂碼 fileinputstream fis new fileinputstream yyy.txt byte arr new byte 4 int len while len fis.read arr 1 位元組流寫出中文的問...
javaio位元組流和字元流
位元組流 讀檔案 test public void test catch ioexception e catch filenotfoundexception e 寫檔案 test public void test2 catch filenotfoundexception e catch ioexce...
Java I O流(2) java位元組流操作
位元組流基類 inputstream outputstream class filestream public static void writefile throws ioexception public static void readfile 1 throws ioexception fis....