[JAVA] 입출력 스트림 ④ 보조스트림 _ Object
·
JAVA
② Object 보조 스트림 : 메모리에 생성된 객체를 파일이나 네트워크로 출력하는 걸 도와주는 스트림. 객체는 문자가 아니기 때문에 바이트 기반 스트림과 함께 사용해야 한다. 우선 객체를 바이트 스트림으로 바꿔주려면 직렬화(serialization)와 객체 역직렬화(deserialization) 개념을 알아야 한다. 직렬화 : 객체를 바이트 스트림으로 변환 하는 메커니즘. 객체를 출력하기 위해 객체의 데이터를 일렬로 만들어 연속적인 바이트로 변경 하는 것을 의미하며 변환하는 이유는 객체를 디스크 혹은 데이터베이스에 저장하기 위해서이다. 역직렬화 : 파일에 저장 되어 있거나 네트워크에서 전송 된 객체를 읽는 것을 말하는데, 입력 스트림으로부터 읽어드린 연속적인 바이트를 객체로 복원하는 것을 의미한다. p..
[JAVA] 입출력 스트림 ④ 보조스트림 _ Buffered
·
JAVA
보조스트림 : 다른 스트림과 연결 되어 스트림의 기능을 향상 시키거나 새로운 기능을 추가 할 수 있는 스트림이다. 보완하는 용도이기 때문에 실제로 데이터를 주고 받지 않고 데이터를 입출력 할 수 있는 기능은 없다. 1차 스트림(기본 스트림) : 단독으로 사용가능하다. 2차 스트림(보조 스트림) : 기본 스트림과 연결해야 사용 가능하고 기본 스트림에 기능을 추가하기 위해 사용 한다. 기본 스트림 + 보조 스트림 > 서로 타입이 맞아야 사용가능하다. 읽기끼리, 쓰기끼리, 바이트 단위끼리, 문자단위 끼리 등 상성을 가진 것 끼리 연결 가능하다. ① Buffered 보조 스트림 : 속도 빠르게 버퍼는 입력받은 값은 버퍼에 저장해두었다가 버퍼가 가득차거나 개행 문자가 나타나면 버퍼의 내용을 한 번에 전송한다. 바..
[JAVA] 입출력 스트림 ③ 문자 단위 스트림 _ 입출력
·
JAVA
▶문자 단위 스트림 자바에서 스트림은 기본적으로 바이트 단위로 데이터를 전송하는데 1바이트씩 전송되는 바이트 기반 스트림으로는 원활한 처리가 힘들다. 따라서 JAVA에서는 문자 기반의 스트림인 char 형 2바이트씩 입출력이 가능한 기능을 제공한다. Reader (입력) FileReader int read() 해당 입력 스트림으로부터 2바이트씩 읽어서 int 로 반환한다 int read(char[ ] ch) 파라미터로 넣은 배열 크기 만큼을 읽어들인 후, 배열 ch에 저장한다. 그 후 읽은 문자수를 반환한다. int read(char[ ] ch, int off, int size) size 바이트를 읽어들인 후, 배열에 저장한다. 저장 시작 위치는 ch[off]부터이며 읽은 문자수를 반환한다. Writer..
[JAVA] 입출력 스트림 ② 바이트 단위 스트림 _ 출력
·
JAVA
● OutputStream인 FileOutputStream 객체를 생성하여 void write(byte[ ] b) 형태로 출력받아 파일에 나타내기 예제 package 입출력; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class 입출력연습3 { public static void main(String[] args) { // TODO Auto-generated method stub try { FileOutputStream fo = new FileOutputStream("src/입출력/files/c.txt"); byte[] buf = "hello java strea..
[JAVA] 입출력 스트림 ② 바이트 단위 스트림 _ 입력
·
JAVA
▶바이트 단위 스트림 바이트 스트림은 입출력되는 바이트의 바이너리 값을 있는 그대로 처리한다. 그러므로 스트림에 들어오는 데이터가 문자이든 단순 바이너리 정보이든 상관없이 이미지나 오디오까지 읽을 수 있다. 한 바이트씩 읽고 쓴다. 사용자는 InputStream과 OutputStream, 두 메소드를 상황에 맞게 구현하여 사용 가능하다. InputStream (입력) FileInputStream int read() 해당 입력 스트림으로부터 다음 바이트를 읽어드린다. int read(byte[ ] b) 파라미터로 넣은 배열 크기 만큼 바이트를 읽어들인 후, 배열 b에 저장한다. 그 후 읽은 바이트 수를 반환한다. int read(byte[ ] b, int off, int size) size 바이트를 읽어들..
[JAVA] 입출력 스트림 ① 표준 입출력
·
JAVA
입출력 스트림 : 스트림은 한 방향으로만 통신할 수 있으므로, 입력과 출력을 동시에 처리할 수는 없다. 따라서 스트림은 사용 목적에 따라 입력 스트림과 출력 스트림으로 구분되는데 자바에서는 java.io 패키지를 통해 InputStream과 OutputStream 클래스를 별도로 제공하고 있다, 즉, 스트림 클래스 타입의 인스턴스를 생성하는 것이니 import 해서 사용하면 된다. ▶ 표준 입출력 자바에서는 콘솔과 같은 표준 입출력 장치를 위해 System이라는 표준 입출력 클래스를 정의한다. java.lang 패키지에 포함되어 있는 System 클래스는 표준 입출력을 위해 세가지의 클래스 변수를 제공합니다. 클래스 변수입출력 설명 System.in InputStream 콘솔로부터 데이터를 입력받음. S..
해니01_15
코딩구르르르