입력/출력 -> 우리가 만드는 프로그램이 할당 받을 메모리 외부와 데이터를 주고 받음.
IO (Input/Output) : 자바에서 데이터는 스트림(Stream)을 통해 입출력 됨.
Stream : 순서가 있는 데이터의 연속적인 흐름
바이트(Byte) 기반 스트림 > 문자(character) 기반 스트림
바이트 기반 스트림 |
문자 기반 스트림 |
||
입력 바이트 스트림 (...InputStream) |
출력 바이트 스트림 (...OutputStream) |
입력 문자 스트림 (...Reader) |
출력 문자 스트림 (...Writer) |
파일의 경로
절대경로 : 최상위 루트로부터의 경로
상대경로 : 현재 내 위치로부터의 경로
정규경로 : 최단거리 절대경로
import java.io.*; public class FileStreamTest { public static void main(String[] args) { FileInputStream in = null; FileOutputStream out = null; //사용할 스트림 객체를 참조할 참조변수 선언
try{ //예외처리 프레임 작성 // File타입의 객체/ FileDexcriptor / String타입의 파일정보 중에 하나 out = new FileOutputStream("data.txt"); for(int i = 0; i < 10; i++) out.write(i); in = new FileInputStream("data.txt"); //파일의 경로(절대경로, 상대경로, 정규경로) int c; while ( (c= in.read()) != -1) System.out.println(c); //사용할 스트림 객체를 생성 //문자열로 주려면 내가 목적지로 사용할 파일의 경로를 써주면됨 } //생성자에는 목적지 파일에 대한 정보를 담아야함 catch(IOException e) { e.printStackTrace(); } finally{ try{//스트림은 쓰면 닫아줌 if(out != null) //try구문에서 객체 생성하다 예외가 나오면 finally 구문에서 참조변수가 out.close(); //null이어서 멤버함수 close를 접근하면 NullPointerException이 발생할 수 있으므로 조건 검사 if(in != null) in.close(); } catch(IOException e){ e.printStackTrace(); } } } } |
데이터 싱크 스트림 |
데이터 처리 스트림 |
데이터를 소스에서 읽거나 목적지에 기록 |
들어오는 데이터를 가공하여 내보낸다 |
buffer는 바가지, 바가지의 크기는 기본 8192, 바가지가 꽉 찼는데 새로운 데이터가 들어오면 바가지에 있는 데이터를 처리
flush() : 현재 바가지에 있는 데이터를 강제로 처리하기
직렬화(serialization) : 객체가 가진 데이터들을 순차적인 데이터로 변환하는것
AWT - > 운영체제로부터 그래픽 자원을 빌려와 GUI 구현
Swing -> 자바 안에 독립적인 UI 컴포넌트 자원을 내포
' IOT 기반 응용 SW과정 > Java, Eclipse ' 카테고리의 다른 글
Day22 TCP (0) | 2016.04.12 |
---|---|
Day21 입출력 / 네트워크 프로그래밍 (0) | 2016.04.11 |
Day19 스레드 (0) | 2016.04.07 |
Day18 예외처리 (0) | 2016.04.06 |
Day17 제네릭과 컬렉션 (0) | 2016.04.05 |