본문 바로가기

콩's EDUCATION/콩's JAVA

[KITRI] 자바 14장 : 입출력

14장. 자바의 입출력


 

13장은 GUI 쓰임새가 적기에 넘어갑니다.

 

* 입출력

 

입력 : 자바 내부로 데이터 흘러 들어오는 것

출력 : 자바 외부로 데이터 흘러 나가는 것

 

자바 내부   자바 외부

String s  메모리 버퍼

  파일

  키보드

  데이터베이스(java.sql)

  외부 컴퓨터(java.net)

 

파일 데이터 입력  = 파일 입력 스트림

파일 데이터 출력(저장) = 파일 출력 스트림

키보드 입력 = 표준입력장치

모니터 출력 = 표준출력장치

System 클래스 : 자바 프로그램 실행 컴퓨터 정보

System.out 변수 : 현재 컴퓨터의 모니터 변수

System.out.println()

System.in 변수 : 현재 컴퓨터의 키보드 변수

java.io.InputStream 타입

버퍼 입력/버퍼 출력

 

java.io.50

 

 

입력 

출력 

1byte 단위 (바이트기반)

ex) a.jpg, a.mp3

InputStream, 
File InputStream
 

OutputStream,

File OutputStream 

2byte 단위 (문자기반) 

ex) a.txt

Reader,

FileReader 

 Writer,

FileWriter

 

ASCII code : 문자 1byte씩

Unicode : 다국어 2byte씩

'a' ==> 1byte or 2byte

 

표준 입출력 api(키보드 입력/모니터 출력)

파일 입출력 api+java.util.Scanner+java.util.SringTokenizer

 

* FileInputStream

1바이트 파일 입출력

read() / write()

생성

a.txt 파일 저장 데이터를 자바 입력

FileInputStream fi = new FileInputStream("a.txt");

fi.read() ==> 한 문자를 1 바이트씩 입력

 

 

a.txt파일로 데이터를 출력

FileOutputStream fo = new FileOutputStream("a.txt");

fo.write(97); // Aa
fo.close()

try-catch-finally

 

명령형 매개변수

a.txt, b.txt

a.txt 파일 입력 받아서 b.txt 파일 출력(복사)

 

  FileOutputStream fo = new FileOutputStream("c:.....src\FileCopyTest.java);

==> (기준) 프로젝트폴더\src\*.java

상대경로

 

  FileOutputStream fo = new FileOutputStream("c:.....src\FileCopyTest.java);

==> (기준) 프로젝트폴더c:\eclipse\work.....src\*.java

절대경로

 

* java.util.Scanner

jdk1.5 추가 api

쉽고 강력한 기능 포함

 

역할 : 키보드 입력, 데이터의 한글, 자바 데이터타입 변환 입력 용도

생성자 :

Scanner s = new Scanner(System.in);

int <= s.nextInt(); .....등등

String <== s.next() ; 공백 이전의 문자열 ""

String <== s.nextLine(); 한줄 문자열

 

표준 입력 : 한글제외 입력 - 출력 system.in.read

파일 입력 : 입력 - 출력 : FileReader, Scanner

 

* java.io.File 클래스



ch14.zip