Java讀取文件內容出現中文亂碼的問題通常是由于文件的編碼方式與讀取方式不匹配所導致的。可以嘗試以下幾種解決方法:
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
使用正確的字符編碼方式讀取內容:如果無法確定文件的編碼方式,可以嘗試使用其他常用的編碼方式進行讀取,例如GBK或ISO-8859-1等。可以逐個嘗試不同的編碼方式,直到讀取到正確的內容。
轉換編碼:如果已經讀取到了亂碼的內容,可以嘗試將其轉換為正確的編碼。使用String
類的構造方法或getBytes
方法可以將亂碼的字節數組轉換為字符串。
// 將亂碼字節數組轉換為字符串(使用UTF-8編碼)
String content = new String(bytes, "UTF-8");
IOUtils
類,來讀取文件內容。該類提供了一些方法,如toString
和toByteArray
,可以指定文件的編碼方式,避免亂碼問題。// 使用IOUtils類讀取文件內容(使用UTF-8編碼)
String content = IOUtils.toString(new FileInputStream(file), "UTF-8");
請根據具體情況選擇適合的解決方法。