FileOutPutStream:子類(lèi),寫(xiě)出數(shù)據(jù)的通道
步驟:
1.獲取目標(biāo)文件
2.創(chuàng)建通道(如果原來(lái)沒(méi)有目標(biāo)文件,則會(huì)自動(dòng)創(chuàng)建一個(gè))
3.寫(xiě)入數(shù)據(jù) write()
4.釋放資源
注意:
(1)如果目標(biāo)文件不存在,那么會(huì)自己創(chuàng)建一個(gè)目標(biāo)文件
(2)如果目標(biāo)文件存在,先將里面的數(shù)據(jù)清空,再寫(xiě)入數(shù)據(jù)
(3)想在原有的數(shù)據(jù)上寫(xiě)入數(shù)據(jù),則在創(chuàng)建通道的時(shí)候使用 構(gòu)造方法:
OutPutStream(File file,Boolean append),boolean值為true則可以
(4)用 write(int a)方法寫(xiě)入數(shù)據(jù),雖然接收的是int,但實(shí)際上只有一個(gè)字節(jié)的數(shù)據(jù)
(操作的是低八位的,其他的全部丟掉)
//會(huì)自動(dòng)導(dǎo)入一些包import java.io.File;import java.io.FileOutputStream;import java.io.IOException;
//方式一public static void writeData() throws IOException{//1.找目標(biāo)文件File file = new File("C://Users//bigerf//Desktop//文件夾//writeTest.java");//2.創(chuàng)建一個(gè)通道FileOutputStream outputStream = new FileOutputStream(file);//3.開(kāi)始寫(xiě)入數(shù)據(jù),int a = 10; // int 型 4個(gè)字節(jié) outputStream.write(a); //注意這里每次只能輸出一個(gè)字節(jié)outputStream.write('b'); // char 類(lèi)型outputStream.write(5); // 0000-0000 0000-0000 0000-0001 1111-1111 == 511int b = 511 ; //大于八位(9位)outputStream.write(b); //實(shí)際結(jié)果 255,但沒(méi)有顯示int c = 63; //小于八位(6位)outputStream.write(c); //亂碼//4.關(guān)閉資源outputStream.close();}//方式二public static void writeData2() throws IOException{//1.找目標(biāo)文件File file = new File("C://Users//bigerf//Desktop//文件夾//writeTest2.java");//2.創(chuàng)建一個(gè)通道,(如果不存在路徑中的文件,則會(huì)在這一步創(chuàng)建的文件)//new FileOutputStream(file,true); /true表示在原來(lái)文本的基礎(chǔ)上寫(xiě)入文本(反之則會(huì)先清空再寫(xiě)入)FileOutputStream outputStream = new FileOutputStream(file,true); //3.創(chuàng)鍵一個(gè)字節(jié)數(shù)組String str = "hello word";//將字符串變?yōu)樽止?jié)數(shù)組byte[] b = str.getBytes();//4.寫(xiě)入數(shù)據(jù)outputStream.write(b); //hello word//5.關(guān)閉資源outputStream.close();}陌陌說(shuō):
輸入流與輸出流可以實(shí)現(xiàn)對(duì)文件的拷貝,不妨試著實(shí)現(xiàn)
(先將路徑文件的數(shù)據(jù)拷貝寫(xiě)入到字節(jié)數(shù)組,再?gòu)淖止?jié)數(shù)組寫(xiě)出道路徑文件)
新聞熱點(diǎn)
疑難解答
圖片精選