日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java io流学习总结(三)

發(fā)布時(shí)間:2023/12/9 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java io流学习总结(三) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載于:https://www.cnblogs.com/ll409546297/p/7197911.html

java.io幾種讀寫文件的方式

一、Java把這些不同來源和目標(biāo)的數(shù)據(jù)都統(tǒng)一抽象為數(shù)據(jù)流。

  Java語言的輸入輸出功能是十分強(qiáng)大而靈活的。

  在Java類庫(kù)中,IO部分的內(nèi)容是很龐大的,因?yàn)樗婕暗念I(lǐng)域很廣泛:標(biāo)準(zhǔn)輸入輸出,文件的操作,網(wǎng)絡(luò)上的數(shù)據(jù)流,字符串流,對(duì)象流,zip文件流。

  這里介紹幾種讀寫文件的方式

二、InputStream、OutputStream(字節(jié)流)

     //讀取文件(字節(jié)流)InputStream in = new FileInputStream("d:\\1.txt");//寫入相應(yīng)的文件OutputStream out = new FileOutputStream("d:\\2.txt");//讀取數(shù)據(jù)//一次性取多少字節(jié)byte[] bytes = new byte[2048];//接受讀取的內(nèi)容(n就代表的相關(guān)數(shù)據(jù),只不過是數(shù)字的形式)int n = -1;//循環(huán)取出數(shù)據(jù)while ((n = in.read(bytes,0,bytes.length)) != -1) {//轉(zhuǎn)換成字符串String str = new String(bytes,0,n,"GBK"); #這里可以實(shí)現(xiàn)字節(jié)到字符串的轉(zhuǎn)換,比較實(shí)用System.out.println(str);//寫入相關(guān)文件out.write(bytes, 0, n);}//關(guān)閉流in.close();out.close();

三、BufferedInputStream、BufferedOutputStream(緩存字節(jié)流)使用方式和字節(jié)流差不多,但是效率更高(推薦使用)

    //讀取文件(緩存字節(jié)流)BufferedInputStream in = new BufferedInputStream(new FileInputStream("d:\\1.txt"));//寫入相應(yīng)的文件BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream("d:\\2.txt"));//讀取數(shù)據(jù)//一次性取多少字節(jié)byte[] bytes = new byte[2048];//接受讀取的內(nèi)容(n就代表的相關(guān)數(shù)據(jù),只不過是數(shù)字的形式)int n = -1;//循環(huán)取出數(shù)據(jù)while ((n = in.read(bytes,0,bytes.length)) != -1) {//轉(zhuǎn)換成字符串String str = new String(bytes,0,n,"GBK");System.out.println(str);//寫入相關(guān)文件out.write(bytes, 0, n);}//清楚緩存out.flush();//關(guān)閉流in.close();out.close();

四、InputStreamReader、OutputStreamWriter(字符流,這種方式不建議使用,不能直接字節(jié)長(zhǎng)度讀寫)。使用范圍用做字符轉(zhuǎn)換

   //讀取文件(字節(jié)流)InputStreamReader in = new InputStreamReader(new FileInputStream("d:\\1.txt"),"GBK");//寫入相應(yīng)的文件OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("d:\\2.txt"));//讀取數(shù)據(jù)//循環(huán)取出數(shù)據(jù)byte[] bytes = new byte[1024];int len = -1;while ((len = in.read()) != -1) {System.out.println(len);//寫入相關(guān)文件out.write(len);}//清楚緩存out.flush();//關(guān)閉流in.close();out.close();

五、BufferedReader、BufferedWriter(緩存流,提供readLine方法讀取一行文本)

     //讀取文件(字符流)BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("d:\\1.txt"),"GBK"));#這里主要是涉及中文//BufferedReader in = new BufferedReader(new FileReader("d:\\1.txt")));//寫入相應(yīng)的文件BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d:\\2.txt"),"GBK"));//BufferedWriter out = new BufferedWriter(new FileWriter("d:\\2.txt"));//讀取數(shù)據(jù)//循環(huán)取出數(shù)據(jù)String str = null;while ((str = in.readLine()) != null) {System.out.println(str);//寫入相關(guān)文件out.write(str);out.newLine();}//清楚緩存out.flush();//關(guān)閉流in.close();out.close();

六、Reader、PrintWriter(PrintWriter這個(gè)很好用,在寫數(shù)據(jù)的同事可以格式化)

    //讀取文件(字節(jié)流)Reader in = new InputStreamReader(new FileInputStream("d:\\1.txt"),"GBK");//寫入相應(yīng)的文件PrintWriter out = new PrintWriter(new FileWriter("d:\\2.txt"));//讀取數(shù)據(jù)//循環(huán)取出數(shù)據(jù)byte[] bytes = new byte[1024];int len = -1;while ((len = in.read()) != -1) {System.out.println(len);//寫入相關(guān)文件out.write(len);}//清楚緩存out.flush();//關(guān)閉流in.close();out.close();

七、基本的幾種用法就這么多,當(dāng)然每一個(gè)讀寫的使用都是可以分開的。為了更好的來使用io。流里面的讀寫,建議使用BufferedInputStream、BufferedOutputStream

轉(zhuǎn)載于:https://www.cnblogs.com/SongG-blogs/p/10932086.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的Java io流学习总结(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。