Java讀取文字檔案亂碼解決方案

2021-07-24 23:53:37 字數 851 閱讀 3345

首先,先看一下解析的**:

private string getprojectdata(file file)

return data;

}這個方法很簡單,就是獲取txt檔案中的一行資料,然後轉換為陣列,我這個文字中只有一行。就這種情況下獲取到的str是亂碼,我想出現亂碼肯定是字符集編碼的問題,然後自己新建了乙個文字文件測試沒有問題(開始用的文字時別的程式匯出的),所以我估計是開始那個txt檔案編碼的問題,檢視發現是unicode編碼(如何檢視txt的編碼呢,教你乙個笨笨的辦法:開啟檔案——另存為,然後看到最下面的編碼,預設選擇的就是當前文件的編碼格式),問題就出現在這裡。

問題找到了就好解決了,修改**為:

private string getprojectdata(file file)

return data;

}使用檔案流讀取,轉換編碼為「utf-16」,這樣亂碼問題就解決了。

歸納一下:

txt文字文件有四種編碼選項:ansi、unicode、unicode big endian、utf-8;預設應該是ansi選項,就是系統的預設編碼,一般是gbk,這種情況下用第一段**解析是沒有問題的,也不需要轉碼;其他格式就需要用第二段**對應轉碼了,unicode對應utf-16,utf-8就不用說了。

關於獲取txt檔案編碼,我們可能有時候需要用程式獲取,動態判斷,這裡給一點資料,參考參考:

ansi: 無格式定義

unicode: 前兩個位元組為fffe unicode文件以0xfffe開頭

unicode big endian: 前兩位元組為feff

utf-8: 前兩位元組為efbb utf-8以0xefbbbf開頭

用程式取出前幾個位元組並進行判斷即可。

節能細則範本文字

工程 監理實施細則 建築節能工程 內容提要 建築節能工程概況 本專案特點 難點 監理工作依據 監理組織機構 監理工作流程 監理工作控制要點及目標值 監理工作方法及措施 專案監理機構 章 專業監理工程師 總監理工程師 日期江蘇省住房和城鄉建設廳監製 建築節能工程監理實施細則 1 本專案建築節能工程的設...

畢節七小語言文字檔案目錄

a1 b1 c1 一 畢節七小2010秋行政分工 二 畢節七小2011秋行政分工 三 畢節七小2013秋行政分工 四 畢節七小2014秋行政分工 a1 b3 c10 一 畢節七小優秀教師評選辦法 二 畢節七小優秀教班集體 優秀班主任評選制度三 畢節七小骨幹教師評選辦法 四 畢節七小教師績效工資考核辦...

談文學文字文學教學的策略

小學語文主要分為實用為本和文學文字。對於不同的文體,教學方式 教學目的 教學手段皆有很大區別。那麼,如何在文學文字閱讀教學對話中進行有效的情感薰染呢?我試從課堂閱讀教學諸環節的操作實施層面,結合具體案例來剖析,以 其基本原理。一 導言啟情 文字閱讀教學對話的起始階段,教師以情感飽滿的引導性語言,對所...