Java讀取檔案中含有中文的解決辦法 (轉)
讀取中含有中文的解決辦法
折磨了一天的問題,終於在黃昏的時候解決了,現在一吐為快。
眾所周知,java的中文問題一直是一個老大難的問題,這個現象可以在csdn中java論壇裡關於中文亂碼的提問率就可以瞭解到,甚至巨人IBM專門開闢了一個解決中文問題的專區,作為一個俗人(一直夢想希望想金凱利那樣成為一個“冒牌天神”,只是一直沒有成功,也許是因為上帝不照顧中國吧),我也為同意的問題困擾,好在今天解決了。
隨著我對平臺的徹底放棄(只是生活所迫,畢竟我還要生活),將原有的資源轉到Java平臺上來是我當前的一個重要任務之一,說到這裡,不得不承認.net對中文問題解決的很好,雖然偶爾也會出現亂碼。
問題是這樣的,我的box()原來是使用.net寫的(當時只是為了嘗試新的技術),當時為了資料的可移植性我放棄了使用,將全部資料儲存為UTF-8編碼的文字檔案,在.net中讀取這種檔案秩序只要指定開啟檔案的編碼方式,中文問題就可以避免。但是按照我以前的思維,java中不是這麼作的,java中都是先讀取後轉換的,最後的結果證明我錯了,看來主意害死人呀。
File f=new File((new BoxConfig()).getBaseDir()+"Data"+request.getParameter("ID")+".inc");:namespace prefix = o ns = "urn:schemas--com::office" />
BufferedReader reader = new BufferedReader(new FileReader(f));
String line;
while((line=reader.readLine())!=null){
strContent+=line;
}
這是我最初的程式碼f就是我要讀取的UTF-8格式的文字檔案,這一天中經過了無數次的嘗試,包括new String(strContent.getBytes("UTF-8"))(其中嘗試了N種編碼轉換),System.setProperty("file.encoding","UTF-8")(其中指定了N種編碼轉換),都失敗了,其中甘苦相信各位經歷過被折磨的各位看官都有所瞭解,在此略過。終於在中無數次查詢中得到了一個後來被證明很重要的一條資訊“讀取檔案時指定字元編碼”,一語點醒夢中人,.net中不就是這麼實現的嗎?走了一圈彎路終於解決了這個問題。
File f = new File("E:workspaceboxData
InputStreamReader read = new InputStreamReader (new FileInputStream(f),"UTF-8");
BufferedReader reader=new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
透過開啟檔案是指定檔案編碼的方法把這個問題輕鬆的解決了。
最後總結一下:java要讀取資料流的時候一定要指定資料流的編碼方式(至少讀取String流的時候要這麼作。
你也許可以透過得到相關資訊,你也可以透過csdn@ibeyond.org和我聯絡。
本文的版權歸iBeyond所有,轉載時請註明轉載出處。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982183/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python中無法正確讀取.mat檔案的解決辦法Python
- 關於Android程式設計檔案路徑中含有中文字元的問題解決辦法Android程式設計字元
- Zuul上傳檔案,中文檔名亂碼解決辦法Zuul
- 檔案無法粉碎解決辦法
- CentOS下OpenCV無法讀取影片檔案的解決方法CentOSOpenCV
- Java 讀檔案寫檔案 韓文 中文 亂碼問題解決方案Java
- CentOS下OpenCV無法讀取視訊檔案的解決方法CentOSOpenCV
- Java讀取文字檔案中文亂碼問題Java
- 在Jsp/Servlet中的中文解決辦法 (轉)JSServlet
- jvm:jmap無法dump檔案的解決辦法JVM
- Java 讀取檔案Java
- mac檔案刪除不了的解決辦法Mac
- JAVA 讀取xml檔案JavaXML
- java讀取properties檔案Java
- 管理工具匯入CSV檔案,中文資料亂碼的解決辦法。
- libreoffice轉換檔案為pdf檔案亂碼問題解決辦法
- Java屬性檔案的讀取Java
- 在springboot打包成jar後,無法讀取自定義檔案的解決辦法Spring BootJAR
- 系統檔案丟失怎麼辦 系統檔案損壞的解決辦法
- c# excel讀取的日期變成整數的解決辦法C#Excel
- Word的檔案被鎖定,無法編輯的解決辦法
- Win7 IIS7 配置錯誤由於許可權不足而無法讀取配置檔案的解決辦法Win7
- Java系列:讀取XML檔案JavaXML
- java中讀取配置檔案Java
- Java高效讀取大檔案Java
- Springmvc中文亂碼解決辦法SpringMVC
- centos 中文亂碼解決辦法2CentOS
- 副檔名為.chm的檔案打不開的解決辦法
- 讀取DXF格式檔案 (轉)
- delphi讀取ini檔案 (轉)
- Java API 讀取HDFS的單檔案JavaAPI
- 基於.NET的程式讀取Excel檔案的解決方案Excel
- 檔案或目錄損壞且無法讀取怎麼辦?
- Spring Boot,Spring Cloud專案打成Jar包時,無法讀取自定義檔案的解決辦法Spring BootCloudJAR
- 非歸檔資料檔案誤刪除解決辦法
- “專案檔案已被重新命名或已不在解決方案中”的解決辦法
- 無法建立目錄或檔案 無法建立目錄的解決辦法
- 不能開啟要寫入的檔案故障解決辦法