문제 : Java 프로그램을 사용하여 중국어가 포함 된 TXT 파일을 읽고 쓸 때 읽기 또는 서면 컨텐츠는 종종 차단됩니다. 그 이유는 실제로 매우 간단합니다. 즉, 시스템 인코딩 및 프로그램 인코딩은 다른 인코딩 형식을 채택합니다. 일반적으로 직접 수정하지 않으면 Windows 자체가 사용하는 인코딩 형식은 GBK입니다 (GBK 및 GB2312는 기본적으로 동일한 인코딩 방법입니다). TXT 파일 (GBK)이 수동으로 생성되고 OS로 작성되면 프로그램을 사용하여 읽어야합니다 (UTF-8). 가능한 중국어가 달린 문제를 피하기 위해 파일을 작성하고 읽을 때 인코딩 형식을 명시 적으로 지정하는 것이 가장 좋습니다.
1. 파일 작성 :
public static void writefile (String filename, String filecontent) {try {file f = 새 파일 (filename); if (! f.exists ()) {f.createnewfile (); } outputStreamWriter write = new OutputStreamWriter (새 파일 OutputStream (F), "GBK"); BufferedWriter Writer = New BufferedWriter (쓰기); Writer.write (filecontent); Writer.close (); } catch (예외 e) {e.printstacktrace (); }} 2. 파일 읽기 :
public static string readfile (String filename) {String fileContent = ""; try {file f = 새 파일 (filename); if (f.isfile () && f.exists ()) {inputStreamReader read = new inputStreamReader (new FileInputStream (f), "gbk"); bufferedReader reader = new bufferedReader (읽기); 문자열 라인; while ((line = reader.readline ())! = null) {filecontent += line; } read.close (); }} catch (예외 e) {e.printstacktrace (); } 반환 파일 턴트; }