下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java讀取TXT文本文件亂碼解決方案今天在解析一個(gè)文本文件的時(shí)候出現(xiàn)了亂碼,以前從未遇到,花了點(diǎn)時(shí)間解決了,在此總結(jié)一下:首先,先看一下解析的代碼:privateStringgetProjectData(Filefile)Stringdata=null;tryBufferedReaderbr=newBufferedReader(newFileReader(file);Stringstr=br.readLine();data=str.split("t");br.close();catch(FileNotFoundExceptione)e.printStackTrace();
2、catch(IOExceptione)e.printStackTrace();returndata;這個(gè)方法很簡(jiǎn)單,就是獲取txt文件中的一行數(shù)據(jù),然后轉(zhuǎn)換為數(shù)組,我這個(gè)文本中只有一行。就這種情況下獲取到的str是亂碼,我想出現(xiàn)亂碼肯定是字符集編碼的問題,然后自己新建了一個(gè)文本文檔測(cè)試沒有問題(開始用的文本時(shí)別的程序?qū)С龅?,所以我估計(jì)是開始那個(gè)txt文件編碼的問題,查看發(fā)現(xiàn)是Unicode編碼(如何查看txt的編碼呢,教你一個(gè)笨笨的辦法:打開文件另存為,然后看到最下面的編碼,默認(rèn)選擇的就是當(dāng)前文檔的編碼格式),問題就出現(xiàn)在這里。問題找到了就好解決了,修改代碼為:privateStringge
3、tProjectData(Filefile)Stringdata=null;tryBufferedReaderbr=newBufferedReader(newInputStreamReader(newFileInputStream(file),"UTF-16");Stringstr=br.readLine();data=str.split("t");br.close();catch(FileNotFoundExceptione)e.printStackTrace();catch(IOExceptione)e.printStackTrace();retur
4、ndata;使用文件流讀取,轉(zhuǎn)換編碼為“UTF-16”,這樣亂碼問題就解決了。歸納一下:txt文本文檔有四種編碼選項(xiàng):ANSI、Unicode、Unicodebigendian、UTF-8;默認(rèn)應(yīng)該是ANSI選項(xiàng),就是系統(tǒng)的默認(rèn)編碼,一般是GBK,這種情況下用第一段代碼解析是沒有問題的,也不需要轉(zhuǎn)碼;其他格式就需要用第二段代碼對(duì)應(yīng)轉(zhuǎn)碼了,Unicode對(duì)應(yīng)UTF-16,UTF-8就不用說了。關(guān)于獲取txt文件編碼,我們可能有時(shí)候需要用程序獲取,動(dòng)態(tài)判斷,這里給一點(diǎn)資料,參ANSI:無格式定義Unicode:前兩個(gè)字節(jié)為FFFEUnicode文檔以O(shè)xFFFE開頭Unicodebigendian
5、:前兩字節(jié)為FEFFUTF-前兩字節(jié)為EFBBUTF-8以O(shè)xEFBBBF開頭8程序取出前幾個(gè)字節(jié)并進(jìn)行判斷即可。packagecom.syscan.oa.util;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileNotFoundException;importjava.io.FileReader;importjava.io.FileWriter;importjava.io.IOException;importjava.util.ArrayList;im
6、portjava.util.List;publicclassReadWritTxtFileIOpublic staticvoid main(String口 args)/ReadDate();/WriteDate();Stringpath="d:/file4.txt"writeToDatString口str=(path);System.out.println(for"str.length="+str.length);(inti=0;i<str.length;i+)System.out.println(stri);String口splitStr=str
7、i.split("#");System.out.println("splitStr.length="+splitStr.length);for(intj=0;j<splitStr.length;j+)System.out.println(splitStrj);*讀取數(shù)據(jù)*/publicstaticvoidReadDate()Stringurl="e:/2.txt"tryFileReaderread=newFileReader(newFile(url);StringBuffersb=newStringBuffer();charch
8、=newchar1024;intd=read.read(ch);while(d!=-1)Stringstr=newString(ch,0,d);sb.append(str);d=read.read(ch);System.out.print(sb.toString();catch(FileNotFoundExceptione)e.printStackTrace();catch(IOExceptione)e.printStackTrace();*寫入數(shù)據(jù)*/SuppressWarnings("unchecked")publicstaticvoidWriteDate()tryFi
9、lefile=newFile("D:/abc.txt");if(file.exists()file.delete();new BufferedWriter(newfile.createNewFile();BufferedWriteroutput=FileWriter(file);ArrayList ResolveList =new ArrayList();for(inti=0;i<10;i+)ResolveList.add(Math.random () * 100);for(inti=0;i<ResolveList.size();i+)output.write(
10、String.valueOf(ResolveList.get(i)+"n");output.close();catch(Exceptionex)System.out.println(ex);SuppressWarnings("unchecked")publicstaticString口writeToDat(Stringpath)Filefile=newFile(path);Listlist=newArrayList();String口str=null;tryBufferedReaderbw=newBufferedReader(newFileReader(file);Stringline=null;/因?yàn)椴恢烙袔仔袛?shù)據(jù),所以先存入list集合中while(line=bw.readLine()!=null)list.add(li
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度知識(shí)產(chǎn)權(quán)保護(hù)合同咨詢及代理服務(wù)協(xié)議3篇
- 二零二五版古董家具修復(fù)、安裝與展覽服務(wù)合同3篇
- 二零二五年服裝店轉(zhuǎn)讓合同書附帶品牌形象重塑及宣傳推廣服務(wù)3篇
- 二零二五版噪聲污染檢測(cè)與控制合同3篇
- 二零二五年度智能家居代理出租房租賃合同2篇
- 二零二五年杭州二手房買賣合同貸款與還款指導(dǎo)合同3篇
- 二零二五年金融科技公司股份代持與金融信息服務(wù)合同3篇
- 二零二五版房地產(chǎn)開發(fā)項(xiàng)目施工許可證報(bào)建代理合同3篇
- 二零二五版餐飲企業(yè)食品安全責(zé)任承包合同范本3篇
- 二零二五版古建筑保護(hù)監(jiān)理服務(wù)增補(bǔ)合同2篇
- 危險(xiǎn)性較大分部分項(xiàng)工程及施工現(xiàn)場(chǎng)易發(fā)生重大事故的部位、環(huán)節(jié)的預(yù)防監(jiān)控措施
- 繼電保護(hù)試題庫(含參考答案)
- 《榜樣9》觀后感心得體會(huì)四
- 2023事業(yè)單位筆試《公共基礎(chǔ)知識(shí)》備考題庫(含答案)
- 《水下拋石基床振動(dòng)夯實(shí)及整平施工規(guī)程》
- 化學(xué)-廣東省廣州市2024-2025學(xué)年高一上學(xué)期期末檢測(cè)卷(一)試題和答案
- 2025年云南大理州工業(yè)投資(集團(tuán))限公司招聘31人管理單位筆試遴選500模擬題附帶答案詳解
- 風(fēng)電危險(xiǎn)源辨識(shí)及控制措施
- 《教師職業(yè)道德與政策法規(guī)》課程教學(xué)大綱
- 營(yíng)銷策劃 -麗亭酒店品牌年度傳播規(guī)劃方案
- 兒童傳染病預(yù)防課件
評(píng)論
0/150
提交評(píng)論