a.txt 파일을 리소스 파일을 가져오기 위해서는 문자단위스트림을 할지, 바이트단위스트림을 할 지 고려해야한다.
이 파일의 경우에 한글이 섞여 있을 수 있기때문에 문자단위스트림으로 노드스트림을 결정하였다.
바이트 기반 스트림은 그림, 멀티미디어, 문자등 모든 종류의 데이터를 받고 보낼 수 있다. 그렇지만 한글의 경우에는 한글자당 3바이트가 차지하기 때문에 문자단위 스트림을 사용하는 것이 더 효율적인 방법이 된다.
Reader은 문자기반입력 스트림의 최상위 클래스이다.
자원을 사용할 때 우선적으로 리소스를 결정해야 한다.
1. 리스소결정 : a.txt파일
2. 노드스트림결정: FileIOTest- 문자단위스트림(한글값이 있을수 있기때문에
import java.io.FileNotFoundException;
import java.io.FileReader;
public class FileIOTest {
public static void main(String[] args) {
String fileName = "a.txt";
FileReader fr = null; //참조형변수
try {
fr =new FileReader(fileName);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
a.txt
ABC
123
가나다
한 글자당 영어와 숫자는 1바이트, 한글은 3바이트이며 enter 값이 2바이트이다. 총 19바이트를 차지한다.
'java' 카테고리의 다른 글
java_15_Io 패키지 - 입력스트림(Reader) (0) | 2021.10.29 |
---|---|
java_15_Io 패키지 - 출력스트림 (0) | 2021.10.28 |
java_15_Io 패키지 - 입력스트림 (InputStream ) (0) | 2021.10.28 |
java_13_컬렉션 프레임워크 (0) | 2021.10.26 |
java_13_java.lang과 java.util 패키지 & toString(), equals() (0) | 2021.10.26 |