42일 차 - 입출력 스트림(IOStream), 필터(보조) 스트림, 문자 스트림과 바이트 스트림 (23.02.23)

yvonne·2023년 2월 23일
0

📂Java

목록 보기
44/51
post-thumbnail

1. 아래와 같이 파일이 복사되도록 프로그램을 짜시오.

대상 파일: a.pptx
사본 이름: d.pptx


import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Scanner;

public class ioStreamTest1 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("대상 파일: ");
		String src = sc.nextLine();

		System.out.print("사본 이름: ");
		String dst = sc.nextLine();

		try (InputStream in = new FileInputStream(src); 
				OutputStream out = new FileOutputStream(dst)) {
			byte buf[] = new byte[1024];
			int len;

			while (true) {
				len = in.read(buf);
				if (len == -1) {
					break;

				}
				out.write(buf, 0, len);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
}
  • 출력결과




2. 보조 스트림에 대하여 설명하시오.

📌 보조 스트림(필터 스트림): 다른 스트림과 연결하여 여러가지 편리한 기능을 제공해주는 스트림

  • 보조 스트림의 일부가 FilterputStream, FilterOutputStream 클래스의 하위 클래스이기 때문에 필터 스트림이라고 한다.
  • 문자 변환, 입출력 성능 향상, 기본데이터 타입 입출력, 객체 입출력 등의 기능 제공

<참조 https://blog.naver.com/khs1107y/222691060954>







3. 문자 스트림과 바이트 스트림의 차이에 대하여 설명하시오.

📌문자 스트림

  • 문자 단위로 입출력하는 클래스로 유니코드 단위로 입출력한다.
  • InputStreamReader과 OutputStreamReader
  • 문자를 읽을 수 있지만 정해진 크기만 가능

📌바이트 스트림

  • 8비트 단위로 입출력하는 클래스들로 주로 이진 데이터를 읽고 쓰기 위하여 사용
  • InputStream과 OutputStream에서 파생
  • 정수로 받기 때문에 문자는 받지 못함
profile
개발 연습장

0개의 댓글