最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JAVA.io讀寫(xiě)文件方式匯總

 更新時(shí)間:2020年06月05日 08:46:31   作者:小不點(diǎn)丶  
這篇文章主要介紹了幾種JAVA.io讀寫(xiě)文件方式,文中代碼非常詳細(xì),幫助大家更好的理解學(xué)習(xí),感興趣的朋友可以了解下

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

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

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

  這里介紹幾種讀寫(xiě)文件的方式

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

//讀取文件(字節(jié)流)
    InputStream in = new FileInputStream("d:\\1.txt");
    //寫(xiě)入相應(yīng)的文件
    OutputStream out = new FileOutputStream("d:\\2.txt");
    //讀取數(shù)據(jù)
    //一次性取多少字節(jié)
    byte[] bytes = new byte[2048];
    //接受讀取的內(nèi)容(n就代表的相關(guān)數(shù)據(jù),只不過(guò)是數(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);
      //寫(xiě)入相關(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"));
    //寫(xiě)入相應(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ù),只不過(guò)是數(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);
      //寫(xiě)入相關(guān)文件
      out.write(bytes, 0, n);
    }
    //清楚緩存
    out.flush();
    //關(guān)閉流
    in.close();
    out.close();

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

//讀取文件(字節(jié)流)
    InputStreamReader in = new InputStreamReader(new FileInputStream("d:\\1.txt"),"GBK");
    //寫(xiě)入相應(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);
      //寫(xiě)入相關(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")));
    //寫(xiě)入相應(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);
      //寫(xiě)入相關(guān)文件
      out.write(str);
      out.newLine();
    }
    
    //清楚緩存
    out.flush();
    //關(guān)閉流
    in.close();
    out.close();

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

//讀取文件(字節(jié)流)
    Reader in = new InputStreamReader(new FileInputStream("d:\\1.txt"),"GBK");
    //寫(xiě)入相應(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);
      //寫(xiě)入相關(guān)文件
      out.write(len);
    }
    //清楚緩存
    out.flush();
    //關(guān)閉流
    in.close();
    out.close();

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

以上就是JAVA.io讀寫(xiě)文件方式匯總的詳細(xì)內(nèi)容,更多關(guān)于JAVA.io讀寫(xiě)文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • java: 程序包c(diǎn)om.fasterxml.jackson.annotation不存在的解決辦法

    java: 程序包c(diǎn)om.fasterxml.jackson.annotation不存在的解決辦法

    當(dāng)我們?cè)趯?dǎo)入程序之后,系統(tǒng)給出錯(cuò)誤提示:java: 程序包c(diǎn)om.fasterxml.jackson.annotation不存在,本文主要介紹了Java程序包不存在的三種解決方法,需要的朋友可以參考下
    2024-02-02
  • Spring Boot 中的 @ConditionalOnBean 注解場(chǎng)景分析

    Spring Boot 中的 @ConditionalOnBean 注解場(chǎng)景分析

    本文詳細(xì)介紹了Spring Boot中的@ConditionalOnBean注解的使用場(chǎng)景、原理和基本用法,通過(guò)多個(gè)示例,展示了如何使用該注解根據(jù)Bean是否存在來(lái)動(dòng)態(tài)地注冊(cè)或跳過(guò)特定的Bean,感興趣的朋友一起看看吧
    2025-03-03
  • maven打包插件的使用(maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin、maven-resources-plugin)

    maven打包插件的使用(maven-compiler-plugin、maven-dependency-plugin、m

    本文主要介紹了maven打包插件的使用(maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin、maven-resources-plugin),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Spring?控制反轉(zhuǎn)和依賴(lài)注入的具體使用

    Spring?控制反轉(zhuǎn)和依賴(lài)注入的具體使用

    本文主要介紹了Spring?控制反轉(zhuǎn)和依賴(lài)注入,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • kafka分布式消息系統(tǒng)基本架構(gòu)及功能詳解

    kafka分布式消息系統(tǒng)基本架構(gòu)及功能詳解

    這篇文章主要為大家介紹了kafka分布式消息系統(tǒng)基本架構(gòu)及功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 詳解Spring事務(wù)和事務(wù)傳播機(jī)制

    詳解Spring事務(wù)和事務(wù)傳播機(jī)制

    本文主要介紹了MySQL中的事務(wù)以及如何在Spring框架中實(shí)現(xiàn)事務(wù)管理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • java?-jar/-cp啟動(dòng)添加外部的依賴(lài)包方式

    java?-jar/-cp啟動(dòng)添加外部的依賴(lài)包方式

    這篇文章主要介紹了java?-jar/-cp啟動(dòng)添加外部的依賴(lài)包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • 深入探討Java多線(xiàn)程中的volatile變量

    深入探討Java多線(xiàn)程中的volatile變量

    這篇文章主要為大家詳細(xì)并深入的探討Java多線(xiàn)程中的volatile變量,volatile用來(lái)確保將變量的更新操作通知到其他線(xiàn)程,保證了新值能立即同步到主內(nèi)存,以及每次使用前立即從主內(nèi)存刷新,感興趣的小伙伴們可以參考一下
    2016-02-02
  • JAVA使用POI(XSSFWORKBOOK)讀取EXCEL文件過(guò)程解析

    JAVA使用POI(XSSFWORKBOOK)讀取EXCEL文件過(guò)程解析

    這篇文章主要介紹了JAVA使用POI(XSSFWORKBOOK)讀取EXCEL文件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • RSA加密的方式和解密方式實(shí)現(xiàn)方法(推薦)

    RSA加密的方式和解密方式實(shí)現(xiàn)方法(推薦)

    下面小編就為大家?guī)?lái)一篇RSA加密的方式和解密方式實(shí)現(xiàn)方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06

最新評(píng)論

桓仁| 屏东县| 敦化市| 金昌市| 呼图壁县| 昌江| 卢湾区| 聂拉木县| 宜都市| 肇庆市| 荔波县| 舞钢市| 桓仁| 洪泽县| 鹤庆县| 高淳县| 东兴市| 五峰| 鄂托克旗| 滨州市| 南岸区| 泾源县| 托克逊县| 岑溪市| 余干县| 沅陵县| 汕尾市| 茶陵县| 平邑县| 漠河县| 沂水县| 千阳县| 博兴县| 陕西省| 左云县| 个旧市| 宣汉县| 泰州市| 阿坝| 汪清县| 抚州市|