입력/출력 -> 우리가 만드는 프로그램이 할당 받을 메모리 외부와 데이터를 주고 받음.

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

+ Recent posts