on
[JAVA] :: FILE BUFFERED STREAM
[JAVA] :: FILE BUFFERED STREAM
package test; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class TestMain { public static void main(String[] args) throws IOException { // BUFFERED INPUT STREAM // 버퍼 스트림은 일반적인 스트림을 오픈한 뒤 사용한다. String path = "C:/TEST/TEST.txt"; File f = new File(path); // 메모장의 데이터를 받아와 저장할 바이트 단위의 배열 생성 byte [] read = new byte[(int)f.length()]; // TRY-CATCH를 두번하지 않도록 NULL로 처리 FileInputStream fis = null; BufferedInputStream bis = null; try { // FILE INPUT STREAM의 경로를 BUFFERED INPUT STREAM 객체가 받아 데이터를 받을 준비를 하게 된다. fis = new FileInputStream(f); bis = new BufferedInputStream(fis); // 버퍼 인풋 스트림의 통로를 오픈 // BIS가 제공하는 READ 메소드를 통해서 버퍼 스트림 객체에 메모장의 데이터를 READ 바이트 배열에 저장 bis.read(read); System.out.println(read); System.out.println("---------"); // 버퍼 스트림은 한 뭉치씩 데이터를 저장하여 받아온다. // READ는 단순한 배열 데이터이므로 NEW를 통해서 STRING으로 형을 변환해줘야한다. System.out.println(new String(read)); // READ의 예외를 통합적으로 처리할 수 있도록 EXCEPTION 사용 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { // 스트림을 닫아줄 때는 역순(BUFFERED > STREAM)으로 닫아줘야한다. bis.close(); fis.close(); } } }
from http://hikr90.tistory.com/46 by ccl(A) rewrite - 2021-12-19 17:02:01