1. 자바 I/O 나. 스트림의 데이터 종류? 다. 자바 I/O 클래스 제공. b. char 출력 최상위 클래스 : Writer
2. 표준 입출력 1) System.in 표준 입력으로 데이터를 읽어올때 사용 2) System.out 표준 출력으로 모니터로 데이터를 출력 할때 사용 3) System.err 표준 에러로서 모니터에 에러정보를 출력할때 사용한다.
<예제 문장 1> 문자 한개를 입력받아 출력 import java.io.IOException;
public class StandardOutputTest { <출력> 문자를 입력하세요 : abc
문자를 여러개 입력해도 하나만 입력 받아진다.
<예제문장 2> import java.io.BufferedReader;
public class StandardOutputTest { try { System.out.print("문자를 입력하세요 : "); System.out.print("입력 값 : " + str); c.close(); // 사용후에는 반드시 close() 사용하여 자원을 해제 } catch (IOException e) { <출력> 문자를 입력하세요 : abc 김상진
입력데이터를 한 라인씩 처리하는 BufferedReader 클래스의 readLine() 메소드를 사용한 방식이다. 또한 String 으로 처리하기 때문에 예제1번처럼 char로 강제형변환을 하지 않아도 된다.
=====수업 내용======
|
1. 자바 I/O
가. 용어 정리
입력(input) 출력(output)
(입력스트림) (출력스트림)
소스 --------> 자바프로그램 --------> 대상(sink)
(source)
: 키보드 : 모니터
(표준입력 : standard input) (표준출력 : standard out)
: 파일 : 파일
: 메모리 : 메모리
: 네트워크 : 네트워크
나. 스트림의 데이터 종류?
=> 자바 프로그램에서 I/O 가능한 데이터 종류
a. byte
: 바이너리(binary) 데이터 처리시 사용.
예> 이미지, 문자데이터 포함
b. char
: 문자 데이터 처리시 사용.
다. 자바 I/O 클래스 제공.
a. byte
==> 입력 최상위 클래스 : InputStream
- FileInputStream (파일읽기)
- ObjectInputStream
출력 최상위 클래스 : OutputStream
- FileOutputStream (파일출력)
- ObjectOutputStream
b. char
==> 입력 최상위 클래스 : Reader
- FileReader
- InputStreamReader
- BufferedReader
출력 최상위 클래스 : Writer
- FileWriter
- PrintWriter
2. 표준 입출력 ( Standard input / output)
==> 키보드로 입력
==> System 클래스로 처리한다.
가. 표준입력
InputStream is = System.in;
xxx.println(값);
==> System.out.println(값):
나. 표준출력
PrintStream xxx = System.out;
다. 표준에러
System.err
==> StandardInputTest2 실습의 특징은
- 1byte만 읽는다.
- 한글 못 읽는다.
- char로 형 변환시커야 된다.
- 반복처리
- \n과 \r을 필터링하는 작업 추가.
: 결론은 너무 불편하다.
이유는 InputSteam 클래스만 사용했기 때문이다.
다른 유용한 클래스를 같이 사용한다.
StandardInputTest3 실습의 특징
- 지정된 byte 배열 크기만큼만 저장
- 한글처리 불가
- char로 형 변환 시켜야한다.
- 반복처리
3. try-with-resources 문
==> 자바7부터 사용가능
==> 외부 자원 사용시 자동 close시키는 방법이다.
ex)try(외부자원 선언;외부자원선언2;외부자원선언3){
}catch( ){
}
-----------------------------------
try{
자원;
}catch(){
}finally{
//명시적으로 자원을 close 해야된다.
}
4. 파일 읽기
==> 어떤 파일이냐? ( 문자데이터, 이미지 )
문자 : FileReader
이미지 : FileInputStream
5. 파일 관련 클래스
==> java.io.file 클래스
==> 전반적인 파일의 정보를 관리.
ex) 경로, 파일명, 디렉토리 정보, 파일크기, 디렉토리 생성, 디렉토리 조회, 파일삭제등....
(파일생성 x)
==> 메타데이터 ( 정보의 정보 )를 관리.
'프로그래밍 > Java' 카테고리의 다른 글
자바 [JAVA]13일차 수업 ( GUI / Frame / Panel ) 하이브리드 웹개발 (0) | 2017.08.19 |
---|---|
자바 [JAVA] 12일차 수업 ( 파일읽기,쓰기, 객체직렬화 ) (0) | 2017.08.19 |
자바 [JAVA]10일차 수업 ( 컬렉션/Hashset/ArrayList/제네릭 ) (0) | 2017.08.19 |
자바 [JAVA] 9일차 수업 ( 예외처리 ) (0) | 2017.08.19 |
자바 [JAVA] 8일차 수업 ( 문자열 , 예외처리 ) (0) | 2017.08.19 |