JAVA/Java2021-3 (25) 썸네일형 리스트형 보조스트림 (DataInputStream, DataOutputStream) DataInputStream / DataOutputStream ex) 파일에 읽고 파일에 쓰기 쓴 순서대로 읽으면 된다 (바이트 값으로) package Basic_Grammar.chap6.ch10보조스트림; import java.io.*; public class DataStreamTest { public static void main(String[] args) throws IOException { try (FileOutputStream fos = new FileOutputStream("data.txt"); DataOutputStream dataOutputStream=new DataOutputStream(fos)) { dataOutputStream.writeByte(100); //바이트 단위로 값을 쓴다 .. 보조 스트림 (Decorator pattern으로 구현되어있음) 실제 읽고 쓰는 스트림이 아닌 보조 기능을 제공하는 스트림 (생성자의 매개변수로 또 다른 스트림을 가짐) FilterInputStream과 FilterOutputStream이 보조 스트림의 상위 클래스 기반 스트림 (컴포넌트) 보조 스트림은 매개변수로 스트림을 받는다. 자주 쓰이는 보조 스트림 InputStreamReader : 읽을 때 바이트를 문자로 바꿔주는 것 OutputStreamWriter : 쓸 때 바이트 스트림을 문자로 바꿔주는 것 package Basic_Grammar.chap6.ch10보조스트림; import java.io.*; public class InputStreamReaderTest { public static void main(String[] args) { try (FileInp.. 문자단위 입출력 스트림 - Reader, Writer Reader : 문자 단위 입력 스트림 최상위 추상 클래스 Writer : 문자 단위 출력 스트림 최상위 추상 클래스 FileReader, FileWriter 예제1) 파일에서 문자를 읽기 FileReader 1-1. 처음에 FileInputStream 바이트 단위로 문자읽어보기(한글 깨짐) package Basic_Grammar.chap6.ch09StreamIO_문자; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class FileReaderTest { public static void main(String[] args) { try (FileInputStream.. OutputStream -FileOutputStream(바이트 단위), 실습 OutputStream : 바이트 단위 출력 스트림의 최상위 클래스 FileOutputStream : FileInputStream의 경우 파일이 존재하지 않으면 FileNotFoundException이 생긴다 FileOutputStream의 경우 파일이 존재하지 않으면 파일이 생성됨.(기존에 있는 경우 default 실행은 overwrite) So, 이어서 쓰고 싶을 땐 FileOutputStream("파일명",true); 해주면 overwrite대신 이어서 덮어쓴다. 예제1) 파일에 한 바이트 씩 쓰기(write 하기) package Basic_Grammar.chap6.ch08FileIO; import java.io.FileNotFoundException; import java.io.FileOutput.. InputStream-FileInputStream(바이트 단위), 실습 InputStream : 바이트 단위 입력 스트림의 최상위 클래스(추상 클래스) - 주요 메서드 read() : 한 바이트 씩 읽기-실습1, byte[] 로 읽기-실습2 close() : 스트림과 연결된 대상하고 리소스를 닫아주어야한다. (try()안에 리소스 사용하면 auto close()된다) -실습1-1) FileInputStream (바이트 단위로 데이터 핸들링한다) (Exception Handling도 중요하다) package Basic_Grammar.chap6.ch08FileIO; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class FileInput.. 표준 입출력 스트림 System 클래스 (System in 실습) System 클래스에 out, in, err라는 static 변수가 있다 (그래서 new로 생성하지 않고 사용하였다) ex) System.in package Basic_Grammar.chap6.ch07SystemIO; import java.awt.*; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class SystemInTest { public static void main(String[] args) { System.out.println("알파벳 여러 개를 쓰고 [Enter]를 누르시오"); int i; try { //System.in의 in은 1byte씩 읽는다. //문자를 .. 자바 입출력 I/O 스트림 입출력 스트림? (예외 처리를 다 해주어야한다) -정의 : 입출력 스트림이라고 하는 이유는 자료가 흘러가는 것이 물의 흐름과 같다는 비유에서 유래 ( 자바는 입출력이 구현되는 모든 곳에서 스트림을 쓴다. ex) 파일 디스크, 키보드, 마우스, 네트워크, 메모리 등 모든 자료가 입력되고 출력되는 곳) -입출력 스트림 구분 (대상, 자료, 기능) 1. 대상 (하나의 스트림으로 입출력을 같이 사용할 수 없다) 입력 스트림 출력 스트림 2. 자료의 종류(원래 자료는 바이트 단위(문자열 1byte), 문자를 많이 사용하기 때문에 2byte 이상 문자용 스트림도 제공) 바이트 스트림 문자 스트림(문자 단위로 핸들링 시에는 인코딩 중요) 3. 기능 기반 스트림(대상에 대해 직접 입출력해주는 스트림) 보조 스트림 (하.. 오류의 로그 실습 (Exception 처리, Console 출력은 되나 logging이 저장안됨 ㅠㅠ) package Basic_Grammar.chap6.ch06Logging; public class StudentTest { public static void main(String[] args) { MyLogger myLogger=MyLogger.getLogger(); String name=null; try{ Student student=new Student(name); }catch (StudentNameFormatException e){ myLogger.warning(e.getMessage()); } try{ Student student=new Student("Edward Jon Kim Test"); }catch (StudentNameFormatException e){ myLogger.warning(e.g.. 이전 1 2 3 4 다음