728x90
Section19 파일 입출력
1. 다음 중 스트림에 관한 설명으로 틀린 것은 무엇일까요?
- 데이터를 읽어들이는 것을 입력 스트림이라고 합니다.
- 데이터를 저장하는 것을 출력 스트림이라고 합니다.
- 하나의 스트림으로 입력과 출력 모두 제어할 수 있습니다.
- 스트림은 바이트 기반 스트림과 문자 기반 스트림으로 나눌 수 있습니다.
2. 이미지 파일을 복사하려고 합니다. 다음 중 가장 적합한 스트림은 무엇일까요?
- FileInputStream, FileWriter
- FileReader, FileWriter
- FileInputStream, FileOutputStream
- FileReader, FileOutputStream
3. 다음은 보조 스트림에 대한 설명입니다. 문장이 맞으면 O표, 틀리면 X표 하세요.
- 보조 스트림은 다른 보조 스트림과 중첩하여 사용할 수 있습니다. ( )
- 보조 스트림은 자체적으로 입출력을 수행할 수 있습니다. ( )
- 성능 향상 기반 보조 스티림 중에서 바이트 기반 스트림에는 BufferedInputStream과 BufferOutputStream이 있으며 문자 기반 스트림에는 BufferedReader와 BufferdWriter가 있습니다. ( )
- 문자 기반 스트림으로 최상위 스트림은 Reader 입니다. ( )
4. 다음 코드의 빈 칸을 완성해 보세요.
package section19;
public class FileReadExample {
public static void main(String[] args) {
FileInputStream in = null;
try {
in = new FileInputStream("read.txt");
int read = 0;
while ??? {
read = in .read();
System.out.println((char) read);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (in != null) {
??? // 스트림 담기
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
5. 사용자가 키보드를 통해 입력한 내용을 파일로 출력하는 예제를 작성해 보세요. 사용자가 "END"라고 입력하면 프로그램을 종료합니다.
package section19;
public class FileWriteExam {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
FileWriter writer = null;
try {
String str = "";
???
System.out.println("키보드 입력 : ");
while (true) {
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
if (scan != null) {
scan.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
6. 과일의 목록이 들어있는 텍스트 파일이 있습니다. 해당 목록에는 같은 과일이 중복되어 있습니다. 해당 파일을 읽어서 각 과일이 몇 번씩 기록되어 있는지를 출력하는 프로그램을 작성해 보세요. 파일의 내용은 임의로 만듭니다.
ex)
- fruit.txt
사과
배
메론
사과
복숭아
수박
사과
수박
...
메론 : 1번
배 : 1번
사과 : 3번
수박 : 2번
...
7. 다음 빈칸에 알맞은 단어를 작성해 보세요.
- 바이트로 읽어 들인 데이터를 문자로 변환해 주는 스트림을
ㅁㅁㅁ
이라고 합니다. - 자바 시스템 내부에서 사용하는 객체나 데이터를 외부에서 사용할 수 있도록 바이트 단위의 데이터로 변환하는 기술을
ㅁㅁㅁ
(이)라 하고 바이트로 변환된 데이터를 다시 객체로 변환하는 기술을ㅁㅁㅁ
(이)라고 합니다.
728x90