Java文件字符輸入流FileReader讀取txt文件亂碼的解決
更新時間:2021年09月03日 14:33:04 作者:春天里的小矮寶
這篇文章主要介紹了Java文件字符輸入流FileReader讀取txt文件亂碼的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
Java文件字符輸入流FileReader讀取txt文件亂碼
先上代碼
public class FileInAndOut {
public static void main(String[] args) {
//定義指定磁盤的文件的File對象
File file = new File("E:/大三下學(xué)期/Android/作業(yè)要求/java知識鞏固/work5.txt");
if(! file.exists()){
System.out.println("對不起,不包含指定路徑的文件");
}else{
//根據(jù)指定路徑的File對象創(chuàng)建FileReader對象
try {
FileReader fr = new FileReader(file);
char[] data = new char[51]; //定義char數(shù)組
int length = 0;
while((length = fr.read(data))>0){ //循環(huán)讀取文件中的數(shù)據(jù)
String str = new String(data,0,length); //根據(jù)讀取文件的內(nèi)容創(chuàng)建String 對象
System.out.println(str); //輸出讀取內(nèi)容
}
fr.close(); //關(guān)閉流
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
控制臺輸出結(jié)果如下

原因是
Java中的字符流處理的最基本的單元是Unicode碼元(大小2字節(jié)),所以,我們在保存的時候要將文件的編碼格式改為utf-8


運(yùn)行之后的結(jié)果為

字符流讀取UTF-8和寫出txt文件亂碼問題
亂碼問題一直都是非常難受的問題,本文解決Java中使用字符流讀取UTF-8和寫出txt文件 亂碼
話不多說,直接上圖

輸出結(jié)果:

使用代碼:

解決

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解springboot通過Async注解實現(xiàn)異步任務(wù)及回調(diào)的方法
這篇文章主要介紹了springboot通過Async注解實現(xiàn)異步任務(wù)及回調(diào),文中通過一個簡單示例來直觀的理解什么是同步調(diào)用,在單元測試用例中,注入?SyncTask?對象,并在測試用例中執(zhí)行?doTaskOne(),doTaskTwo(),doTaskThree()?三個方法,具體實現(xiàn)方式跟隨小編一起看看吧2022-05-05
spring?boot項目中集成rocketmq詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于spring?boot項目中集成rocketmq的相關(guān)資料,springboot集成rocketmq的方法非常簡單,文中直接上代碼,需要的朋友可以參考下2023-09-09
Java中的CyclicBarrier循環(huán)柵欄解析
這篇文章主要介紹了Java中的CyclicBarrier循環(huán)柵欄解析,從字面上的意思可以知道,這個類的中文意思是"循環(huán)柵欄",大概的意思就是一個可循環(huán)利用的屏障,它的作用就是會讓所有線程都等待完成后才會繼續(xù)下一步行動,需要的朋友可以參考下2023-12-12
springboot2+es7使用RestHighLevelClient的示例代碼
本文主要介紹了springboot2+es7使用RestHighLevelClient的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Java性能工具JMeter實現(xiàn)上傳與下載腳本編寫
性能測試工作中,文件上傳也是經(jīng)常見的性能壓測場景之一,那么 JMeter 文件上傳下載腳本怎么做,本文詳細(xì)的來介紹一下,感興趣的可以了解一下2021-07-07

