⑴ 在java中怎樣處理中文亂碼的問題(有幾種處理方式)
讀取文件的時候如果是用的read方法(位元組流),碰到中文輸出就是亂碼,然後存儲的時候設置下編碼為GBK或者是UTF-8形式即可,可以有效的解決亂碼問題。
可以通過BufferedReader 流的形式進行流緩存,之後通過readLine方法獲取到緩存的內容。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此時獲取到的bre就是整個文件的緩存流
while ((str = bre.readLine())!= null) // 判斷最後一行不存在,為空結束循環
{
System.out.println(str);//原樣輸出讀到的內容
};
備註: 流用完之後必須close掉,如上面的就應該是:bre.close(),否則bre流會一直存在,直到程序運行結束。
可以通過「FileOutputStream」創建文件實例,之後過「OutputStreamWriter」流的形式進行存儲,舉例:
OutputStreamWriter pw = null;//定義一個流
pw = new OutputStreamWriter(new FileOutputStream(「D:/test.txt」),"GBK");//確認流的輸出文件和編碼格式,此過程創建了「test.txt」實例
pw.write("我是要寫入到記事本文件的內容");//將要寫入文件的內容,可以多次write
pw.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。
⑵ JAVA讀寫文件,如何避免中文亂碼
1、你要將所有的文件的編碼都設置成UTF-8,還有,你的MyEclipse或者Eclipse應該配置jsp還有java文件還有項目都設置為UTF-8.
2、eclipse 中使用模板新建 JSP,xhtml等 文件時,默認的編碼為:ISO-8859-1。 ISO-8859-1 編碼對於中文的顯示是不支持的,如果要支持簡體中文,則編碼方式應為 GBK 或者 GB2312 或者 UTF-8(推薦) 等。右鍵菜單欄window --> preferences --> 在type filter text中輸入jsp; --> 選擇下面的jsp -> 選擇creating files組中的encoding 為UTF-8編碼就可以了
如果要使新建立工程、java文件直接使UTF-8則需要做以下工作:
1、windows->Preferences...打開"首選項"對話框,左側導航樹,導航到general->Workspace,右側 Text file encoding,選擇Other,改變為UTF-8,以後新建立工程其屬性對話框中的Text file encoding即為UTF-8。
2、windows->Preferences...打開"首選項"對話框,左側導航樹,導航到general->Content Types,右側Context Types樹,點開Text,選擇Java Source File,在下面的Default encoding輸入框中輸入UTF-8,點Update,則設置Java文件編碼為UTF-8。其他java應用開發相關的文件 如:properties、XML等已經由Eclipse預設指定,分別為ISO8859-1,UTF-8,如開發中確需改變編碼格式則可以在此指定。
⑶ 用java讀取txt文件中的中文寫入資料庫出現中文亂碼,怎麼解決
1,設置下你資料庫的編碼,一般設置成UTF-8或者GBK或者GB2312
2,java讀取TXT數據時可以轉換下編碼,再存進資料庫,從資料庫讀取出來後顯示時也同樣的轉換下編碼,好像可以用個過濾器來弄的,