목록JAVA 문법 (40)
Super Coding Addict
* 그 외 입출력 클래스 - File 클래스 : 파일 개념을 추상화한 클래스 : 입출력 기능은 없고, 파일의 속성, 경로, 이름 등을 알 수 있음 - RandomAccessFile 클래스 : 입출력 클래스 중 유일하게 파일 입출력을 동시에 할 수 있는 클래스 : 파일포인터의 위치에 따라 읽고 쓰는 위치의 이동 가능 (seek 메서드) - 예제 # RandomAccessFileTest 클래스 package Ch14.stream.others; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAccess..
* 직렬화 (Serialization) - 인스턴스의 상태를 그대로 저장하거나 네트웍으로 전송하고 이를 다시 복원(Deserialiation)하는 방식 - ObjectInputStream과 ObjectOutputSream사용 (보조스트림) --> 앞에서 DataInputStream과 DataOutputStream에는 Object를 읽고 쓰는 기능이 없었으나, 이 Object~Stream에서 제공된다 * Serializable 인터페이스 - 직렬화는 인스턴스의 내용이 외부(파일이나 네트웍)로 유출되는 것이므로 프로그래머가 객체의 직렬화 가능 여부 명시 - 구현 코드가 없는 mark interface --> Serializable이라는 인터페이스를 선언해줌으로써 이 객체가 직렬화 가능하다고 명..
실제 읽고 쓰는 기능은 없지만, 보조적 기능을 add-on [Decorator] * 보조 스트림 - FilterInputStream과 FilterOutputStream이 최상위 클래스 - 생성자의 매개변수로 또 다른 스트림을 가짐 - 데코레이터 패턴 * 여러가지 보조 스트림 사용하기 - Buffered스트림 : 내부에 8192 바이트 (약 8K) 배열을 가지고 있으며, 읽거나 쓸 때 속도가 빠르다 (8K정도만큼 한꺼번에 읽고 쓰고 하기 때문에) - DataInputStream / DataOutputStream : 데이터의 자료를 그대로 저장하고 읽을 수 있는 스트림 - 예제 # FileCopy 클래스 --> FileInputStream과 FileOutputStream을 이용해 zip파..
* FileReader와 FileWriter - 파일의 문자를 읽고 쓸 때 가장 많이 사용하는 클래스 - 예제 # FileReader 클래스 --> 읽어올 텍스트 파일 --> 이것을 FileInputStream으로 읽게 되면? package Ch14.stream.reader; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; public class FileReaderTest { public static void main(String[] args) throws IOException { FileInputStream fis = new FileInputSt..
* 바이트 단위 스트림 InputStream : 바이트단위 입력스트림 최상위 클래스 (FileInputStream, ByteArrayInputStream, FilterInputStream...) OutputStream : 바이트단위 출력스트림 최상위 클래스 (FileOutputStream, ByteArrayOutputStream, FilterOutputStream...) * FileInputStream과 FileOutputStream 사용하기 - 파일의 한 바이트씩 자료를 읽고 쓰는데 사용 --> 한글과 같은 문자는 X (FileReader, FileWriter를 사용해야함) - 입력 스트림은 파일이 없으면 예외 발생시키는 반면, 출력 스트림은 파일을 생성하여 출력함 -..
* System 클래스의 표준 입출력 멤버 public static System{ public static PrintStream out; //표준 출력 스트림 public static InputStrem in;//표준 입력 스트림 public static PrintStream err;//표준 에러 스트림 } --> static 멤버이기 때문에 new System()하지 않고, System.out 식으로 가져다가 써옴 * System.in 사용하여 입력 받기 - 한 바이트씩 읽어 들인다 - 따라서 한글과 같이 여러 바이트로 된 문자들을 읽기 위해선, InputStreamReader와 같은 보조스트림 + - 예제 # SystemInTest 클래스 package Ch14.stream.inp..