位元組流:可以處理所有以bit為單位儲存的檔案,也就是說可以處理所有的檔案,但是在處理字元上的速度不如字元流
注:其實在各個不同的型別中,輸入流到輸出流的套路基本都一樣。
那就拿最簡單的fileoutputstream來舉例子吧
從fileoutputstream到fileintputstream其實就是複製乙個檔案的過程,將檔案讀取到fileintputstream中,後輸出到fileoutputstream也就是相當於輸出到了硬碟的檔案中。
我們可以以兩個桶為例,乙個桶為fileintputstream,另乙個桶為fileoutputstream,如果要把乙個桶裡的水轉移到另乙個桶中,我們首先需要乙個水瓢,一次次的舀水才能完成我們的需求。
廢話不多說,直接上**:
public
static
void
main(string args) throws ioexception
fs.flush();
} catch (exception e)
}
file file = new file("d:/123.txt");
fileinputstream fis = new fileinputstream(file);
//同樣是叫做輸入流的桶
stringbuffer sb = new stringbuffer();
//把輸出流的桶換成了stringbuffer用來儲存字串
//其實也可以直接用string,但是stringbuffer速度更快。
byte buf = new
byte
[256];
//水瓢沒變
intlen =-1;
//測水瓢舀了多少水沒變
while ((len = fis.read(buf)) !=-1)
system.out.println(sb.tostring());
其實和前面的位元組流讀寫思路一樣,只是限制了檔案只能為字元型別的
public
static
void
main(string args) throws exception
//檢測結果檔案是否存在如果不存在便建立乙個
filereader fr = new filereader(file);
//設定字元讀入流用於向檔案(file)中讀資料
filewriter fw = new filewriter(file2);
//設定字元讀出流用於向檔案(file2)中寫資料
char ch = new
char[256];
//每次讀和寫的容器,或者說是傳送的媒介
int len = -1;
while((len = fr.read(ch)) != -1)
fw.flush();
fw.close();
fr.close();
system.out.println(sb.tostring());
//輸出文字檔案
}
使用工具:objectoutputstream,objectinputstream
介紹:將物件以檔案的形式儲存在硬碟中,使之能更方便的傳輸。
條件:必須實現serializable介面(實現了這個介面,但並不需要重寫任何方法)
class
demoobject
implements
serializable
public
class
iotest
}
Java之IO流學習總結 下
2.位元組流 inputstream 讀 outputstream 寫 由於位元組是二進位制資料,所以位元組流可以操作任何型別的資料,值得注意的是字元流使用的是字元陣列char而位元組流使用的是位元組陣列byte。下面來看乙個位元組流讀寫檔案的簡單例子。清單7,使用位元組流讀寫文字檔案 privat...
java的IO流總結
io流即輸入輸出流,流是一組有順序的,有起點和終點的位元組結合,是對資料傳輸的總稱。即資料在兩裝置間的傳輸稱為流,流的本質是資料傳輸。按照資料流的方向可分為 輸入流和輸出流 按照處理資料單位不同可以分為 位元組流和字元流。給出相應的io結構圖 1.io流之fileinputstream和fileou...
Java學習筆記 IO流
inputstream和outputstream是抽象類,他們是所有位元組輸入流和輸出流的父類。public static void main string args throws ioexceptionpublic static void main string args throws ioexc...