『壹』 怎樣用java讀取TXT文本亂碼解決方案
這個方法很簡單,就是獲取txt文件中的一行數據,然後轉換為數組,我這個文本中只有一行。就這種情況下獲取到的str是亂碼,我想出現亂碼肯定是字元集編碼的問題,然後自己新建了一個文本文檔測試沒有問題(開始用的文本時別的程序導出的),所以我估計是開始那個txt文件編碼的問題,查看發現是Unicode編碼(如何查看txt的編碼呢,教你一個笨笨的辦法:打開文件——另存為,然後看到最下面的編碼,默認選擇的就是當前文檔的編碼格式),問題就出現在這里。問題找到了就好解決了,修改代碼為:
privateString[] getProjectData(File file){
String[] data =null;
try{
BufferedReader br =newBufferedReader(newInputStreamReader(newFileInputStream(file),"UTF-16"));
String str = br.readLine();
data = str.split(" ");
br.close();
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}
returndata;
}
使用文件流讀取,轉換編碼為「UTF-16」,這樣亂碼問題就解決了。
『貳』 java列印中文亂碼
java控制台中文輸出亂碼,已經注意文件格式和控制台格式了?不要用系統寫字板notepad保存UTF8的Java源文件。M$的UTF8是UTF8withBOM,而Java編譯器識別的UTF8是UTF8withoutBOM,兩者不兼容。
eclipse中java中文控制台輸出的這種亂碼解決方式:(1)打開eclipse或myeclipse,點擊run-》runconfigurations如圖提示,改成UTF-8,有的eclipse或myeclipse有可能需要gbk的形式,不同形式改成不同的編碼,嘗試一下即可。
設置單個文件的編碼:只是個別文件出現了亂碼,那麼設置個別文件的編碼格式就可以解決問題了。選中有亂碼的文件,然後點擊右鍵。在彈出的菜單中選擇屬性(Properties)。
java中輸入輸出中文亂碼,怎麼辦?1、在代碼區域右鍵-runas-runconfigurations-common(右側)-consoleencoding如果出現此錯誤,此時的編碼格式應該是UTF-8,選擇Other,這時可能沒有GBK選項,如果沒有,則執行之後操作。
2、讀取文件的時候如果是用的read方法(位元組流),碰到中文輸出就是亂碼,然後存儲的時候設置下編碼為GBK或者是UTF-8形式即可,可以有效的解決亂碼問題。
3、java文件讀取的時候有中文就很出現亂碼,通常獲取到的文件中通常都是「iso8859-1」格式,需要轉換為「UTF-8」格式。
Java程序輸出txt文件內容時中文亂碼怎麼解決?
解決辦法:在代碼區域右鍵-runas-runconfigurations-common(右側)-consoleencoding如果出現此錯誤,此時的編碼格式應該是UTF-8,選擇Other,這時可能沒有GBK選項,如果沒有,則執行之後操作。
txt文檔一般是GBK編碼格式的,你可以將它另存一下,改為Utf-8格式,你也可以將你的開發工具調成GBK編碼格式,總之就是將你的開發環境的編碼格式與你要讀取的txt文件的編碼格式調成一致的。
讀取文件的時候如果是用的read方法(位元組流),碰到中文輸出就是亂碼,然後存儲的時候設置下編碼為GBK或者是UTF-8形式即可,可以有效的解決亂碼問題。
把txt文件重新另存為時選擇編碼為與編輯器IED的編碼一致,比如我IntellijIDEA的編輯器右下角顯示為utf-8,然後把要讀取的txt文件另存為的時候編碼選項選擇utf-8,再次運行程序時,就能顯示中文。
只是個別文件出現了亂碼,那麼設置個別文件的編碼格式就可以解決問題了。選中有亂碼的文件,然後點擊右鍵。在彈出的菜單中選擇屬性(Properties)。
eclipse中java中文控制台輸出的這種亂碼怎麼解決解決方法其實很簡單,設置一下編碼就行了。打開Eclipse,右鍵點擊項目文件,然後點擊最下方的屬性。
進行再textfileencoding進行勾選上default的選項即可。
這不是亂碼,原因很明顯,索引String數組錯誤,將最後一個for循環裡面的zfc改成zfc[j]即可。
改變整個工作空間的編碼格式,這樣以後新建的文件也是新設置的編碼格式。
為什麼我用sublime寫java代碼時列印中文列印出來是亂碼?請問大神編碼...1、點擊「preferences」菜單,選擇「BrowsePackages」打開插件所在目錄,找到「java」這一項,雙擊打開。後綴名為sublime-build的文件是編譯程序的命令,找到JavaC.sublime-build,拖入SublimeText2打開進行編輯。
2、產生原因:因為這個開源項目的默認字元編碼不對,所以控制台的字元編碼也自動變成了UTF-8,而鍵盤的輸入流的默認格式是GBK格式,這樣就造成了在GBK轉UTF-8的過程中產生的奇數亂碼錯誤(這個問題的解釋可以在搜索引擎找到)。
3、SublimeText軟體中,用這款代碼編輯器打開某個GB2312和GBK編碼的文件時,大家可能會遇到中文顯示亂碼的情況,這是因為SublimeText軟體默認的不支持GB2312和GBK編碼格式,想要它能夠正常顯示中文就需要在軟體中安裝一個中文插件包。
4、字元編碼問題:ide下設成utf-8命令行下檢查字元頁設置對不對。修改cmd窗口字元編碼為UTF-8,命令行中執行:chcp65001切換回中文:chcp936這兩條命令只在當前窗口生效,重啟後恢復之前的編碼。
5、SublimeText2目前還不支持gbk編碼,UTF-8完美支持。因此,你的文件出現中文亂碼應該是打開gbk編碼的文件,你可以用系統的記事本直接另存為UTF-8編碼的。
6、java文件讀取的時候有中文就很出現亂碼,通常獲取到的文件中通常都是「iso8859-1」格式,需要轉換為「UTF-8」格式。
『叄』 java filechannel讀取txt 亂碼
亂碼肯定是編碼問題的抄原因,你首先檢查下你生成的TXT是不是亂碼,然後再檢查讀入後輸出的是不是亂碼,每個有關字元串編碼的處理都可以用new String(otherString.getBytes("源編碼集"),「目的編碼集」);進行處理
『肆』 java 寫入txt文件的中文亂碼是怎麼回事
原因是寫入時使來用的字源符編碼和期望的不一致導致的。
『伍』 用java讀取txt文件中的中文寫入資料庫出現中文亂碼,怎麼解決
將TXT文件另存為時,將編碼切換一下保存試試。如UTF-8或GB2312
『陸』 在java手機里存的文檔txt,傳到電腦里打開是亂碼求助怎麼解決,救救孩子
應該是編碼問題,試試用文冊笑本的編輯設置文件編碼為世陵utf-8或gbk等,切換不同的編碼看看是否正常展示。州返含
『柒』 用java 讀取的txt文件為什麼是亂碼
注意UTF-8和Unicode之間的轉換;
如果是編碼問題,可內以這樣解決:容
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);
StringBuffer SB=new StringBuffer();
while((temp=br.readLine())!=null){
SB.append(temp);
}
String strOut=new String(SB.getBytes("ISO-8859-1"),"UTF-8");
System.out.println(strOut);
『捌』 在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方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。