1. Java가 바이트와 문자 스트림을 모두 정의하는 이유는 무엇입니까? 2. 콘솔 입력 및 출력은 텍스트 기반인데 왜 Java는 이러한 목적으로 여전히 바이트 스트림을 사용합니까? 3. 파일을 열어 바이트를 읽는 방법을 보여줍니다. 4. 문자를 읽을 수 있는 파일을 여는 방법을 보여줍니다. 5. 랜덤 액세스 I/O를 위해 파일을 여는 방법을 보여줍니다. 6. "123.23"과 같은 숫자 문자열을 해당 이진수로 어떻게 변환할 수 있나요? 7. 텍스트 파일을 복사하는 프로그램을 작성하세요. 이 과정에서 모든 공백을 하이픈으로 변환하도록 합니다. 파일 바이트 스트림 클래스를 사용하십시오. close( )를 명시적으로 호출하여 파일을 닫으려면 기존 접근 방식을 사용하세요. 8. 질문 7에 설명된 프로그램을 문자 스트림 클래스를 사용하도록 다시 작성하세요. 이번에는 try-with-resources 문을 사용하여 파일을 자동으로 닫습니다. 9. System.in은 어떤 스트림인가요? 10. 스트림의 끝에 도달하면 InputStream의 read() 메서드는 무엇을 반환합니까? 11. 바이너리 데이터를 읽을 때 어떤 유형의 스트림이 사용됩니까? 12. Reader와 Writer는 __________ 클래스 계층 구조의 최상위에 있습니다. 10장 I/O 사용 13. try-with-resources 문은 ____________ ________ ____________. 14. 전통적인 파일 닫기 방법을 사용할 때 일반적으로 finally 블록 내에서 파일을 닫는 것은 좋은 접근 방식입니다. 사실인가요, 거짓인가요?