Reader, Writer : Char 단위로 데이터 처리
→ 문자스트림: 2byte씩 입출력. 문자 데이터만 입출력 가능
InputStream, OutputStrea : Byte 단위로 자료 처리
→ 바이트스트림: 1Byte씩 입출력. 영문자(인코딩때문), 동영상, 음악 등의 파일을 처리할때 사용
file : byte, char를 하나씩 데이터 처리
buffer : byte, char를 buffer에 담아서 입출력
기본적으로 자바는 Stream을 통해 Byte단위로 입출력
Scanner의 system.in도 결국 inputStream을 통해서 byte단위 입력
또한 여러 검증 과정을 거치기 때문에 느린것
비 효율적이기에 Buffer에 담아서 이동 → bufferedreader 사용 이유
bufferedreader : readLine()으로 한줄씩 입력받음
String line;
while ((line = br.readLine()) != null) {
try {
for (int i = 0; i < num; i++) {
System.out.print(line.charAt(i));
}
} catch (StringIndexOutOfBoundsException e) {
}
System.out.println("\n");
}
Java
복사
1.
Reader writer 들어간 것들은 char 단위로 자료를 처리하고
InputStream OutputStream 은 byte 단위로 자료를 처리한다 하네
Reader
Plain Text
복사
writer
Plain Text
복사
들어간 것들은
char
Plain Text
복사
단위로 자료를 처리하고
InputStream
Plain Text
복사
OutputStream
Plain Text
복사
은
byte
Plain Text
복사
단위로 자료를 처리한다 하네
위 코드처럼 while문 조건으로 line이 null 값이 나올 때까지 파일을 읽게한다.
File dir = new File("./");
// ./ 으로 루트 디렉토리에 접근
// File("C:\\"); 으로 C드라이브를 디렉토리로 설정 가능
File files[] = dir.listFiles();
for (File file : files) {
System.out.println(file);
}
Java
복사
현재 디렉토리에 있는 파일 표시