입출력 (I/O)

2023. 6. 15. 16:48Java/Java

0. 입출력

- 기준:프로그램을 기준으로 In, Out

 

- 스트림(Stream): 양방향 통신시 2개의 stream이 필요

1) 입력스트림 2) 출력스트림

- 바이트 기반 스트림과 문자 기반 스트림

1) 바이트 기반 스트림

>바이트 단위로 데이터를 처리 (1바이트)

FileInputStream FileOutpitStream

ByteArrayInputStream ByteArrayOutputStream

>보조 스트림: 다른 스트림의 기능을 향상시켜주는 스트림

FileInputStream FileOutpitStream

BufferedInputStream BufferedOutputStream

 

2) 문자 기반 스트림 : 문자 단위로 데이터를 처리 (2바이트)

> 문자 단위로 데이터를 처리

FileReader FileWriter

StringReader StringWriter

InputStreamReader OutputStreamReader

> 보조 스트림

BufferedReader BufferedWriter

 

1. java.io.InputStream

- int read() : 입력 스트림으로부터 다음 바이트를 읽어들임

- int read(byte) : 입력 스트림으로부터 다음 바이트를 읽어서 바이트 배열에 저장

더이상 읽어들일 바이트를 없으면 -1을 반환

 

2. java.io.OutputStream

- void write(int b) : 출력 스트림으로 해당 바이트를 출력

- void write(byte[] b): 출력 스트림으로 바이트 배열만큼 출력

3. java.io.File

- boolean exits():파일의 존재여부 확인

- String getName(): 파일명 출력

- String getPath(): 파일 경로 출력 (상대주소)

- String getAbsolutePath(): 파일 경로 출력 (절대주소)

- boolean isDirectory(): 디렉토리인지 아닌지 판단

- boolean isFile(): 파일인지 아닌지 판단

- String[] list(): File객체의 하위 파일, 디렉토리의 이름을 문자열 배열로 반환

- File[] listFiles(): File객체의 하위 파일, 디렉토리를 File객체 배열로 반환

- boolean mkdir(): 디렉토리 생성, 단 한번에 하나의 디렉토리만을 생성. 생성 됐으면 true 반환

- boolean mkdir(): 한 번에 여러 디렉터리 생성. 마지막으로 지정한 디렉토리까지 생성해준다.

- void delete() : 파일이나 디렉토리 삭제, 단 해당 디렉토리 내에 파일이 있으면 삭제 안됨

4. java.io.FileReader