FileOutput Stream 중국어 난 장 판 문제 해결

FileOutputStream 직렬 화 를 사용 하면 파일 에 텍스트 내용 을 직접 쓸 수 있 습 니 다.코드 는 다음 과 같 습 니 다.
FileOutputStream outStream = new FileOutputStream(file);
outStream.write(str.getBytes());
outStream.close();

그러나 이 문자열 은 중국 어 를 포함 하면 어 지 러 운 코드 가 발생 합 니 다.이 는 FileOutputStream 이 바이트 흐름 이기 때문에 텍스트 를 바이트 별로 파일 에 기록 합 니 다.한 한 자 는 두 바이트 로 한 번 에 쓸 수 없 으 면 어 지 러 운 코드 가 발생 합 니 다.해결 방법 은 OutputStreamWriter 를 사용 하여 바이트 흐름 을 문자 흐름 으로 변환 하여 기록 하고 utf-8 인 코딩 을 지정 하 는 것 입 니 다.코드 는 다음 과 같 습 니 다:
OutputStreamWriter oStreamWriter = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
oStreamWriter.append(str);
oStreamWriter.close();

좋은 웹페이지 즐겨찾기