對於檔案的讀寫有各種形式,如位元組流讀寫,字元流讀寫,在字元流之上的緩衝流的讀寫,對於這幾種流的讀寫各有優點,各有不足吧:
首先介紹一下位元組輸入輸出流(fileinputstream\fiieoutputstream)對檔案的操作:將檔案aa.txt中的內容讀取出來放到bb.txt檔案中。
首先以乙個位元組的方式讀取:
file file=new file("aa.txt");
fileinputstream fis=new fileinputstream(file);
fileoutputstream fos=new fileoutputstream("bb.txt");
int total=0;
while((total=fis.read())!=-1)
fis.close();
fos.close();
以位元組陣列的的方式讀取:
file file=new file("aa.txt");
fileinputstream fis=new fileinputstream(file);
fileoutputstream fos=new fileoutputstream("bb.txt");
byte b=new byte[1024];
int total=0;
while((total=fis.read(b))!=-1)
fis.close();
fos.close();
以字元輸入輸出流的方式讀寫資料:(outputstreamreader\inputstreamreader):
以乙個字元讀取:
file file=new file("aa.txt");
outputstreamwriter osw=new outputstreamwriter(new fileoutputstream("bb.txt"));
inputstreamreader isr=new inputstreamreader(new fileinputstream(file));
int total=0;
while((total=isr.read())!=-1)
osw.close();
isr.close();
讀到字元陣列中,然後寫入到bb.txt檔案中:
file file=new file("aa.txt");
outputstreamwriter osw=new outputstreamwriter(new fileoutputstream("bb.txt"));
inputstreamreader isr=new inputstreamreader(new fileinputstream(file));
int total=0;
char c=new char[1024];
while((total=isr.read(c))!=-1)
osw.close();
isr.close();
從緩衝流中讀取資料:(bufferedreader\bufferedwriter):
file file=new file("aa.txt");
bufferedreader br=new bufferedreader(new inputstreamreader(new fileinputstream(file)));
bufferedwriter bw=new bufferedwriter(new outputstreamwriter(new fileoutputstream("bb.txt")));
string str=null;
while((str=br.readline())!=null)
bw.close();
br.close();
檔案的讀寫
eg 文字中每一行的資料結構,它們是以tab鍵為間隔的 afghanistan baghlan 36.12 68.7 afghanistan balkh 36.758 66.896 include stdafx.h include fstream include using namespace st...
檔案的讀寫
為了讀而開啟檔案,要建立乙個ifstream物件,他的用發與cin相同,為了寫而開啟檔案,要建立乙個ofstream物件,用法與cout相同。一旦開啟乙個檔案,就可以像處理其他iostream物件那樣對它進行讀寫。在iosream庫中,乙個十分有用的函式是getline 用它可以讀入到string物...
檔案的讀寫
getline fin,s 成功讀出一行,把讀出的結果放入s,並返回true,如果到達結束,就返回false getline讀出一行,遇到換行符則終止,將丟棄換行符而不存入s物件 因此,想使得拷貝的檔案和原始檔看上去一樣,必須加上換行符 檔案讀寫示例 include include include ...