Java 프로그램을 사용하여 중국어가 포함된 txt 파일을 읽고 쓸 때 읽거나 쓴 내용이 깨지는 경우가 종종 있습니다. 이는 시스템 코딩과 프로그램 코딩이 서로 다른 코딩 형식을 사용하기 때문입니다.
해결책:
이 문제를 해결하려면 java.io.FileInputStream/java.io.InputStreamReader 및 java.io.FileOutputStream/java.io.OutputStreamWriter를 사용하세요.
구현 코드:
//默认情况下,win系统编码是gbk/gbk2312,读取和写入时加入编码字符集可以解决乱码 public class ReadAndWrite { private static void test(){ File firstFile = new File("D://fileone.txt"); File secondFile=new File("D://filesecond.txt"); BufferedReader in = null; BufferedWriter out = null; try { //加入编码字符集 in = new BufferedReader(new InputStreamReader(new FileInputStream(firstFile), "gbk")); //加入编码字符集 out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(secondFile), "gbk")); String line = ""; while((line = in.readLine())!=null){ System.out.println(line); out.write(line+"\r\n"); } } catch (FileNotFoundException e) { System.out.println("file is not fond"); } catch (IOException e) { System.out.println("Read or write Exceptioned"); }finally{ if(null!=in){ try { in.close(); } catch (IOException e) { e.printStackTrace(); }} if(null!=out){ try { out.close(); } catch (IOException e) { e.printStackTrace(); } } } }
더 많은 Java 지식을 보려면 PHP 중국어 웹사이트의 java 기본 튜토리얼 칼럼을 주목하세요.
위 내용은 Java 파일이 잘못된 문자로 작성된 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!