fstream // 文件流 ifstream // 輸入文件流 ofstream // 輸出文件流
文件打開方式選項:
ios::in //供讀,文件不存在則建立(ifstream默認的打開方式) ios::out //供寫,文件不存在則建立,若文件已存在則清空原內容(ofstream默認的打開方式) ios::ate //文件打開時,指針在文件最後。可改變指針的位置,常和in、out聯合使用 ios::app //供寫,文件不存在則建立,若文件已存在則在原文件內容後寫入新的內容,指針位置總在最後 ios::trunc //在讀寫前先將文件長度截斷爲0(默認) ios::nocreate //文件不存在時產生錯誤,常和in或app聯合使用 ios::noreplace //文件存在時產生錯誤,常和out聯合使用 ios::binary //二進制格式文件 文件保護方式選擇項: filebuf::openprot; //默認的兼容共享方式 filebuf::sh_none; //獨佔,不共享 filebuf::sh_read; //讀共享 filebuf::sh_write; //寫共享 打開文件的方法 調用構造函數時指定文件名和打開模式 fstream f("d:\\12.dat",ios::in|ios::out|ios::binary); //以讀寫方式打開二進制文件 使用Open成員函數 fstream f; f.open("d:\\12.txt",ios::out); //利用同一對象對多個文件進行操做時要用到open函數 檢查是否成功打開 成功: if(f){...} //對ifstream、ofstream對象可用,fstream對象不可用。 if(f.good()){...} 失敗: if(!f){...} // !運算符已經重載 if(f.fail()){...}
文件定位
經過移動文件讀寫指針,可在文件指定位置進行讀寫。 seekg(絕對位置); //絕對移動,輸入流操做 seekg(相對位置,參照位置); //相對操做 tellg(); //返回當前指針位置 seekp(絕對位置); //絕對移動,輸出流操做 seekp(相對位置,參照位置); //相對操做 tellp(); //返回當前指針位置 參照位置: ios::beg = 0 //相對於文件頭 ios::cur = 1 //相對於當前位置 ios::end = 2 //相對於文件尾
顯示文件內容
文件拷貝
continued……
java