본문 바로가기

Java

파일 I/O

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