Q1. 자바의 I/O는 어떤 패키지에 있는 어떤 클래스를 통해 제공되는가?
- java.io.file 클래스를 통해 제공됩니다.
Q2. 자바의 NIO는 어떤 어떤 것을 기반으로 데이터를 처리하는가?
- 버퍼와 채널을 기반으로 처리됩니다.
Q3. 자바의 NIO는 어떤 특징을 갖는가?
- 기존의 자바 I/O에 비해 빠른 성능을 제공한다는 특징을 갖고 있습니다.
또한 스트림을 기반으로 처리되는 기존의 java.io.file 클래스와 달리
버퍼(buffer)와 채널(channel)을 기반으로 처리된다는 특징이 있습니다.
Q4. File 클래스의 문제점은 무엇인가?
- 심볼릭 링크(symbolic link)와 같은 유닉스 계열에서 사용하는 몇몇 기능을 제공하지 못한다는 것이 문제입니다.
Q5. File 클래스의 mkdir() 메소드와 mkdirs() 메소드의 차이점은 무엇인가?
- mkdir() 메소드는 하나의 디렉토리만 만드는 반면,
mkdirs() 메소드는 여러개의 디렉토리를 만듭니다.
Q6. File 클래스의 canRead(), canWrite(), canExecute() 메소드는 각각 어떤 기능을 하는가?
- 파일을 '읽을 수 있는지', '쓸 수 있는지', '실행할 수 있는지' 판단하는 역할을 합니다.
Q7. File 클래스의 getAbsolutePath()와 getCanonicalPath() 메소드의 차이점은 무엇인가?
-
Q8. InputStream과 OutputStream은 무엇의 부모들인가?
-
Q9. InputStream에 구현한 Closeable이라는 인터페이스는 무엇인가?
-
Q10. OutputStream은 Closeable 인터페이스와 Flushable 인터페이스가 있다.
이 때, Flushable 인터페이스는 무엇인가?
-
Q11. Stream은 무엇을 다루기 위한 것이고, Reader와 Writer는 무엇을 처리하기 위한 클래스인가?
-
참고
- 자바의 신
Q1~Q7 5/16
Q8~Q11 5/22
A1~A6 5/20
'Java' 카테고리의 다른 글
컬렉션 프레임워크(Set 인터페이스) (0) | 2022.05.20 |
---|---|
예외 (0) | 2022.05.20 |
자바 일반 (0) | 2022.05.20 |
클래스와 인터페이스 (0) | 2022.05.20 |
제네릭 프로그래밍 (0) | 2022.05.20 |