자바 내부화-리더 / 라이터 간의 유니 코드 변환
Reader 및 Writer 클래스는 문자 지향 스트림 클래스입니다. 유니 코드 문자를 읽고 변환하는 데 사용할 수 있습니다.
변환
다음 예제는 Reader 및 Writer 클래스를 사용하여 유니 코드 문자열을 UTF8 byte []로, UTF8 byte []를 유니 코드 byte []로 변환하는 방법을 보여줍니다.
IOTester.java
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.nio.charset.Charset;
import java.text.ParseException;
public class I18NTester {
public static void main(String[] args) throws ParseException, IOException {
String input = "This is a sample text" ;
InputStream inputStream = new ByteArrayInputStream(input.getBytes());
//get the UTF-8 data
Reader reader = new InputStreamReader(inputStream, Charset.forName("UTF-8"));
//convert UTF-8 to Unicode
int data = reader.read();
while(data != -1){
char theChar = (char) data;
System.out.print(theChar);
data = reader.read();
}
reader.close();
System.out.println();
//Convert Unicode to UTF-8 Bytes
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Writer writer = new OutputStreamWriter(outputStream, Charset.forName("UTF-8"));
writer.write(input);
writer.close();
String out = new String(outputStream.toByteArray());
System.out.println(out);
}
}
산출
다음 결과를 인쇄합니다.
This is a sample text
This is a sample text
인쇄