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

Java 解決讀寫本地文件中文亂碼的問題

 更新時間:2017年01月24日 14:03:24   投稿:lqh  
這篇文章主要介紹了Java 解決讀寫本地文件中文亂碼的問題的相關(guān)資料,需要的朋友可以參考下

Java 解決讀寫本地文件中文亂碼的問題

前言:

在用Java程序進(jìn)行讀寫含中文的txt文件時,經(jīng)常會出現(xiàn)讀出或?qū)懭氲膬?nèi)容會出現(xiàn)亂碼。原因其實(shí)很簡單,就是系統(tǒng)的編碼和程序的編碼采用了不同的編碼格式。通常,假如自己不修改的話,windows自身采用的編碼格式是gbk(而gbk和gb2312基本上是一樣的編碼方式),而IDE中Encode不修改的話,默認(rèn)是utf-8的編碼,這就是為什么會出現(xiàn)亂碼的原因。當(dāng)在OS下手工創(chuàng)建并寫入的txt文件(gbk),用程序直接去讀(utf-8),就會亂碼。為了避免可能的中文亂碼問題,最好在文件寫入和讀出的時候顯式指定編碼格式。

按行讀取本地文件:

public static String readFile(String fileName) {
    String fileContent = "";
    try {
      File f = new File(fileName);
      if (f.isFile() && f.exists()) {
        InputStreamReader read = new InputStreamReader(
            new FileInputStream(f), "gbk");
        BufferedReader reader = new BufferedReader(read);
        String line;
        while ((line = reader.readLine()) != null) {
          fileContent += line+"\n";
        }
        read.close();
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
    return fileContent;
  }

寫入本地文件:

public static void writeFile(String fileName, String fileContent) {
    try {
      File f = new File(fileName);
      if (!f.exists()) {
        f.createNewFile();
      }
      OutputStreamWriter write = new OutputStreamWriter(
          new FileOutputStream(f), "gbk");
      BufferedWriter writer = new BufferedWriter(write);
      writer.write(fileContent);
      writer.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 基于idea把maven工程轉(zhuǎn)換為web項(xiàng)目

    基于idea把maven工程轉(zhuǎn)換為web項(xiàng)目

    這篇文章主要介紹了基于idea把maven工程轉(zhuǎn)換為web項(xiàng)目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Java進(jìn)階必備之多線程編程

    Java進(jìn)階必備之多線程編程

    今天帶大家來學(xué)習(xí)java多線程編程,文中有非常詳細(xì)的代碼示例及介紹,對正在學(xué)習(xí)java多線程的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • springboot自定義yml配置文件及其外部部署過程

    springboot自定義yml配置文件及其外部部署過程

    這篇文章主要介紹了springboot自定義yml配置文件及其外部部署過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • springboot+spring?data?jpa實(shí)現(xiàn)新增及批量新增方式

    springboot+spring?data?jpa實(shí)現(xiàn)新增及批量新增方式

    這篇文章主要介紹了springboot+spring?data?jpa實(shí)現(xiàn)新增及批量新增方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 解密Java?Map如何高效地操作鍵值對

    解密Java?Map如何高效地操作鍵值對

    Map是Java中非常重要的數(shù)據(jù)結(jié)構(gòu)之一,它存儲鍵值對,可以通過鍵快速查找對應(yīng)的值,是我們在實(shí)際開發(fā)中使用最為頻繁的數(shù)據(jù)結(jié)構(gòu)之一,下面小編就來和大家探討一下Map是如何高效地操作鍵值對的吧
    2023-09-09
  • Java?項(xiàng)目中使用遞歸的小結(jié)

    Java?項(xiàng)目中使用遞歸的小結(jié)

    在 Java 中,遞歸是指在方法的定義中調(diào)用自身的過程,遞歸是基于方法調(diào)用棧的原理實(shí)現(xiàn)的:當(dāng)一個方法被調(diào)用時,會在調(diào)用棧中創(chuàng)建一個對應(yīng)的棧幀,包含方法的參數(shù)、局部變量和返回地址等信息,這篇文章主要介紹了Java?項(xiàng)目中對使用遞歸的理解分享,需要的朋友可以參考下
    2024-07-07
  • 詳解Mybatis核心類SqlSessionFactory的構(gòu)建

    詳解Mybatis核心類SqlSessionFactory的構(gòu)建

    這篇文章主要為大家詳細(xì)介紹了Mybatis核心類SqlSessionFactory的構(gòu)建過程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • 淺談Java內(nèi)存模型之happens-before

    淺談Java內(nèi)存模型之happens-before

    于存在線程本地內(nèi)存和主內(nèi)存的原因,再加上重排序,會導(dǎo)致多線程環(huán)境下存在可見性的問題。那么我們正確使用同步、鎖的情況下,線程A修改了變量a何時對線程B可見?下面小編來簡單介紹下
    2019-05-05
  • Java中spring讀取配置文件的幾種方法示例

    Java中spring讀取配置文件的幾種方法示例

    本篇文章中主要介紹了Java中spring讀取配置文件的幾種方法示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • mybatis xml注釋sql的注意事項(xiàng)及說明

    mybatis xml注釋sql的注意事項(xiàng)及說明

    這篇文章主要介紹了mybatis xml注釋sql的注意事項(xiàng)及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論

林芝县| 新郑市| 石城县| 东至县| 景东| 辽宁省| 乌海市| 鱼台县| 沁阳市| 渑池县| 广昌县| 金秀| 蓝田县| 格尔木市| 南川市| 滦平县| 武胜县| 凌海市| 奉贤区| 莱州市| 翁源县| 德昌县| 邛崃市| 凤山县| 深圳市| 北安市| 股票| 佛坪县| 盐山县| 静宁县| 雅安市| 宁乡县| 保康县| 调兵山市| 尖扎县| 革吉县| 陇南市| 聂荣县| 新巴尔虎左旗| 临桂县| 龙口市|