Проблема: При использовании программ Java для чтения и записи файлов TXT, содержащих китайский язык, чтение или письменный контент часто появляется искаженным. Причина на самом деле очень проста, то есть кодировка системы и программная кодировка применяет различные форматы кодирования. Как правило, если вы не изменяете его самостоятельно, формат кодирования, используемый самими Windows,-это GBK (а GBK и GB2312-это в основном тот же метод кодирования), и если кодировать IDE не изменяется, по умолчанию есть кодирование UTF-8, которое происходит застегнутый код. Когда файл TXT (GBK) создан вручную и записан в ОС, и он будет искажен с помощью программы для чтения (UTF-8). Чтобы избежать возможных китайских искаженных проблем, лучше всего указать формат кодирования при написании и чтении файла.
1. Напишите файл:
public static void writefile (string fileename, string filecontent) {try {file f = new File (filename); if (! f.exists ()) {f.createnewfile (); } OutputStreamWriter write = new outputStreamWriter (new FileOutputStream (F), "GBK"); BufferedWriter Writer = New BufferedWriter (написать); writer.write (filecontent); writer.close (); } catch (Exception e) {e.printstackTrace (); }} 2. Прочтите файл:
public Static String Readfile (String Filename) {string fileContent = ""; try {file f = new File (имя файла); if (f.isfile () && f.exists ()) {inputStreamReader Read = new InputStreamReader (new FileInputStream (f), "GBK"); BufferedReader Reader = New BufferedReader (Read); Строка; while ((line = reader.readline ())! = null) {filecontent += line; } read.close (); }} catch (Exception e) {e.printstackTrace (); } return fileContent; }