23.07.04 -2

OH オハ~~~オッス!!·2023년 7월 4일
0

1.IO stream 이란?

입력(input)과 출력(output)에 대한 내용
바이트 기반 스트림은 바이트 단위로 데이터를 입출력하는 스트림. 문자 기반 스트림은 문자 단위로 데이터를 입출력하는 스트림. 네트워크 기반 스트림은 네트워크를 통해 데이터를 입출력하는 스트림. 파일 기반 스트림은 파일을 통해 데이터를 입출력하는 스트림

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

기본 스트림을 확장하는 스트림
기본 스트림을 상속하여 작성

3. 문자 스트림과 바이트 스트림의 차이는?

  • 문자 스트림은 문자 단위로 데이터를 입출력하고,
  • 바이트 스트림은 바이트 단위로 데이터를 입출력
  • 문자 스트림은 운영 체제의 문자 인코딩을 사용하여 데이터를 입출력
    운영 체제의 문자 인코딩은 국가별로 다르기 때문에, 문자 스트림을 사용하여 파일을 입출력할 때는 운영 체제의 문자 인코딩을 고려해야 한다.
  • 바이트 스트림은 운영 체제의 문자 인코딩을 사용하지 않는다. 바이트 스트림은 데이터를 바이트 단위로 입출력하기 때문에, 문자 스트림보다 더 범용적으로 사용할 수 있다.

4. 아래의 조건에 따라 copy 프로그램을 완성하시오.

  • buffered 보조스트림 달것:
    ===============
    대상 파일: F:\a.java
    사본 이름: F:\b.java
    카피 되었습니다.

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Copy {
public static void main(String[] args) throws FileNotFoundException, IOException {
String originalPath = "F:\a.java";
String copyPath = "F:\b.java";
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(originalPath));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(copyPath));
byte[] buffer = new byte[1024];
int length;
while ((length = bis.read(buffer)) != -1) {
bos.write(buffer, 0, length);
}
bis.close();
bos.close();
System.out.println("카피 되었습니다.");
}
}

5. try - with - resource 에 대하여 설명하시오.

try-with-resources를 사용하면, try 블록이 종료되면 fis 리소스가 자동으로 close. 따라서, fis 리소스를 명시적으로 close하지 않아도 된다

try-with-resources는 Java 7부터 도입된 문법으로, try 블록 내에서 사용되는 리소스를 자동으로 close하는 기능을 제공. try-with-resources를 사용하면 try 블록 내에서 사용되는 리소스를 명시적으로 close하지 않아도 되기 때문에, 코드의 가독성과 유지보수성을 향상시킬 수 있다.
try-with-resources를 사용하려면, try 블록의 선두에 using 키워드를 사용하고, 리소스를 선언해야 헌다. 예를 들어, 파일 리소스를 사용하려면 다음과 같이 try-with-resources를 사용할 수 있다.

profile
現在俺の人生(時間)は暗記だ!暗記だけが道だ!!

0개의 댓글

관련 채용 정보