Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

chapter24 : io 본문

JAVA

chapter24 : io

GAWON 2023. 5. 16. 18:40
1.1 입출력 스트림 (IO Stream)
 - 데이터를 전송하기 위한 일종의 통로 개념이다.
 - 일방통행이 기본이다.
 - 데이터의 방향에 따라 입력 스트림(InputStream)과 출력 스트림(OutputStream)으로 구분한다.
 - 스트림 클래스는 크게 바이트(byte) 기반 스트림과 문자(character) 기반 스트림으로 구분한다.
 	바이트 기반 스트림은 그림, 멀티미디어, 문자 등 모든 종류의 데이터를 받고 보낼 수 있으나,
 	문자 기반 스트림은 문자만 받고 보낼 수 있다.

 - 바이트 기반 스트림
 ★* 최상위 클래스 : InputStream, OutputStream
	1) InputStream : 입력스트림
		(1) FileInputStream
		(2) PipedInputStream
	2) OutputStream : 출력 스트림
		(1) FileOutputStream
		(2) PipedOutputStream
 - 문자기반 스트림
★* 최상위 클래스 : Reader, Writer
	1) Reader : 입력 스트림
		(1) FileReader
		(2) PipedReader
	2) Writer : 출력 스트림
		(1) FileWriter
		(2) PipedWriter
 - 보조 스트림 (단독으로는 사용불가, 주 스트림에 끼워서 쓴다.)
	1) BufferedInputStream : 버퍼를 통해서 입력
	2) BufferedOutputStream : 버퍼를 통해서 출력  
     Buffered-자료를 읽어올때 걸리는시간
Q1. Test01.java
nationalAnthem 데이터 파일을 읽어들여 화면에 출력하고,
nationalAnthem2.txt 파일명으로 복사하는 프로그램 작성

package org.joonzis.test;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;


public class Test01 {
	public static void main(String[] args) throws IOException {

		File file = null;
		FileReader fr = null;
		BufferedReader br = null;

		file = new File("nationalAnthem.txt");
		fr = new FileReader(file);
		br = new BufferedReader(fr);

		BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));

		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("nationalAnthem2.txt"));

		int data;
		while ((data = bis.read()) != -1) {
			bos.write(data);
		}

		String line = "";
		while (true) {
			line = br.readLine();

			if (line != null) {
				System.out.println(line);
			} else {
				break;
			}
		}
		br.close();
		fr.close();
		bos.close();
		bis.close();
	}

}

'JAVA' 카테고리의 다른 글

chapter11-1 : reference-arry test  (0) 2023.05.16
chapter23 : Collection Framework  (0) 2023.05.16
chapter22 : Generic  (0) 2023.05.16
chapter21 : thread  (0) 2023.05.16
chapter20 : api  (0) 2023.05.16