[Java] java 입문 13 - I/O
- Input Output Stream
- Stream
- 이 스트림은 흐름의 방향(입력 스트림, 출력 스트림)과 데이터의 형태(문자 스트림, 바이트 스트림)에 따라 나뉜다.
출처: http://blog.eairship.kr/127 [누구나가 다 이해할 수 있는 프로그래밍 첫걸음]
- 데이터를 메모리에 input하고 저장된 데이터를 output하여 이용한다.
- 데이터는 사실 확대해보면 2진수로 쪼개어 전송한다.
- 2진수 8자리를 묶어서 1byte라 하고 데이터 전송은 바이트단위로 한다.
- 1byte는 256가지를 표현할 수 있다.
- 1byte가 256가지를 표현할 수 있으므로 2byte로 이루어져있는 유니코드는 총 256x256(=65532)의 문자를 표현할 수 있다.
- Input
- InputStream
- 키보드로부터 입력 받을 수 있는 객체의 참조값을 받는다.
- is객체에 입력받은 값을 넣고 InputStream의 메소드인 read()로 입력받은 값을 읽어 keyCode변수에 넣는다.
- 문자를 캐스팅하여 ch변수에 넣는다.
- InputStreamReader
- InputStream타입으로 생성한 객체를 InputStreamReader 객체를 생성해 넣어준다.
- 한글을 처리할 수 있게 되었다.
- read메소드를 이용해 읽어와 캐스팅을 통해 문자로 바꿔서 출력할 수 있다.
- BufferedReader
- BufferedReader 클래스에 있는 readLine()메소드로 한 줄을 모두 읽는다.
- readLine() 메소드를 이용하여 한줄단위로 읽어들인다.
- Output
- OutputStream
- 외부로 데이터를 전송하는 기능 관련 클래스
- 입력받은 데이터를 wrtie메소드를 이용해 출력할 준비를 한다.
- flush() 메소드를 이용해 출력한다.
- OutputStreamWriter
- osw객체의 타입은 OutputStreamWriter이다.
- osw객체에 이용할 수 있는 write메소드는 여러개의 문자를 한번에 출력할 수 있도록 한다.
- File 입출력
- File Input
- File에 있는 내용을 입력을 하거나 File의 내용을 출력하는 것을 말한다.
* path가 폴더일 경우
- 경로를 변수에 저장하고 새로 생성하는 파일객체에 경로 변수를 넣어준다.
- file1객체를 이용하여 이용할 수 있는 메소드를 관찰하여 메소드명으로 추측해본다.
- 존재하지 않을 경우 mkdir()메소드로 폴더를 생성한다.
- isDirectory()메소드로 디렉토리인지 판별하고 delete()메소드로 지울 수 있다.
* path가 파일인 경우
- 경로에 파일이 없을 경우 createNewFile()메소드로 새로운 파일을 생성할 수 있다.
- 예외처리를 하지 않으면 오류가 발생한다.
- File output
- 각 메소드를 활용할 때는 잘 분석해야 이용이 쉽다.
- method의 type을 잘 파악하여 선언한 변수에 넣은 후 출력한다.
'Language > Java' 카테고리의 다른 글
[Java] 접근제어자 private/default/protected/public (0) | 2017.06.18 |
---|---|
[Java] java 입문 14 - File I/O (0) | 2017.05.25 |
[Java] java 입문 12 - Stack/String/Exception (0) | 2017.05.23 |
[Java] java 입문 11 - Util Class(ArrayList/HashMap/Random/HashSet) (0) | 2017.05.22 |
[Java] java 입문 10 - GUI/GenericClass/UtilClass (0) | 2017.05.19 |
댓글