JAVA/Java IO: 19개의 글
문자 Stream : InputStreamReader / OutputStreamWriter Stream은 바이트 단위는 바이트 단위로 연결하고 캐릭터 단위는 캐릭터 단위로 연결하는 것이 원칙이다. 하지만 캐릭터는 결국 바이트 2개가 모여서 구성한 데이터로 볼 수 있다. 따라서 두 가지 서로 다른 기준을 호환할 수 있는 통로가 제공되어야 한다. 이 두 클래스는 Stream 이라는 말고 Reader/Writer 라는 말을 동시에 가지고 있다.결론적으로 이 두 클래스는 둘 사이의 연결을 담당한다고 볼 수 있다. Stream : 바이트 단위의 입출력Reader/Writer : 캐릭터 단위의 입출력 InputStreamReader / OutputStreamWriter는 바이트 스트림에서 문자 스트림으로, 또는 문..
문자 Stream : Reader / Writer 문자 Stream은 16비트 문자나 문자열들을 읽고 쓰기 위한 스트림이고 모두 Reader / Writer의 하위 클래스이다. 문자 입출력 스트림은 영어 이외의 문자에 대한 처리와 문자 인코딩을 내부에서 처리해 주고, 유니코드를 지원하는 자바 특성에 맞게 2바이트 크기의 입출력을 한다. 따라서 문자 스트림을 이용하게 되면 특별한 문자 인코딩에 독립적인 프로그램을 작성할 수 있고 일반적으로 구현에서도 더 효율적일 수 있다. Reader / Writer 는 문자 입출력을 담당하는 추상 클래스로 다른 문자 입출력 클래스들에 대한 최상위 클래스이다. Byte Stream의 최상위 클래스로 InputStream / OutputStream 클래스가 있듯이 Chara..
ByteStream : DataInputStream / DataOutputStream DataInputStream과 DataOutputStream은 자바의 기본 자료형 데이터를 바이트 스트림으로 입출력하는 기능을 제공하는 ByteStream 클래스이다. DataInputStream과 DataOutputStream 은 FilterInputStream과 FilterOutputStream을 상속하고 있어, 객체 생성시에 InputStream과 OutputStream을 매개변수 인자로 가진다. [JAVA] ByteStream : FilterInputStream / FilterOutputStream 이 클래스와 입출력 장치를 대상으로 하는 입출력 클래스를 같이 이용하면 자바의 기본 자료형 데이터를 파일 등 입출력..
ByteStream : BufferedInputStream / BufferedOutputStream (파일 복사 예제) BufferedInputStream과 BufferedOutputStream은 FilterStream을 상속하여 실제 필터 기능을 제공하는 클래스이다. [JAVA] ByteStream : FilterInputStream / FilterOutputStream FileInputStream /FileOutputStream 에서 이야기한 것처럼, 1 Byte 단위로 입/출력이 이루어지면 기계적인 동작이 많아지므로 효율이 떨어지게 된다.또한, 사용자가 일일이 버퍼와 크기를 지정하여 입출력을 하게 되는 것도 정적이고 불편하다. [JAVA] ByteStream : FileInputStream / Fi..
ByteStream : FilterInputStream / FilterOutputStream FilterStream은 데이터를 모아서 어떤 형으로 변환하기 위한 기능을 제공한다. 기본적인 InputStream과 OutputStream 에서 부족한 기능들을 보완하기 위해서 기본 Stream에 필터를 적용하여 입/출력시에 새로운 기능을 제공한다. FilterInputStream 과 FilterOutputStream 은 InputStream과 OutputStream을 상속한 클래스이며, FilterStream의 최상위 클래스로 기본적인 메소드를 그대로 사용할 수 있고, 필요한 형태로 변환하기 위한 필터를 추가할 수 있다. FilterInputStream / FilterOutputStream와 그 하위 클래스는..
ByteStream : FileInputStream / FileOutputStream 직접 키보드를 통하여 입력하는 데이터는 대개 임시 자료인 경우가 많다. 중요한 자료는 대부분 데이터베이스에 저장되어 있거나 파일 시스템에 저장된다. FileInputStream과 FileOutputStream은 바이트 단위로 파일을 통한 입출력을 처리한다. [JAVA/Java IO] - [JAVA] ByteStream : InputStream / OutputStream[JAVA/Java IO] - [JAVA] File 클래스 정리 (파일정보, 파일목록, 하드디스크 정보 출력) ① FileInputStream FileInputStream 클래스는 InputStream 클래스를 상속받은 후손 클래스로 하드 디스크상에 존재하..
System 클래스(표준 입출력) : System.in, System.out, System.err JAVA에서는 스크린과 키보드를 통한 입출력 방법인 표준 입출력을 제공한다. 표준 입출력을 제공하는 클래스는 java.lang.System으로 멤버 변수인 in, out, err을 이용해서 표준 입력, 표준 출력, 표준 에러를 제공한다. 1. System.in System.in은 InputStream 형태로 지정되어 있다. System 클래스는 자바 버추얼 머신을 구성하고 있는 표준 장치를 뜻하는 클래스이다. 자바 버추얼 머신은 그 자체가 완벽한 하나의 컴퓨터 플랫폼을 가정하고 있기 때문에 독립적으로 동작할 수 있는 구조를 표현하기 위하여 표준 입력과 표준 출력을 스스로의 System 클래스에 등록하여 사용..
ByteStream : InputStream / OutputStream 초기의 자바는 바이트 단위로 입출력을 지원하였다. 이것은 가장 원시적인 형태의 입출력이며 아무런 변환 작업을 수행하지 않는다. 그러므로 바이너리 형태의 자원을 다루기 적합하며 InputStream과 OutputStream의 두 클래스가 최상위 클래스이다. InputStream과 OutputStream 클래스는 둘 다 abstract 지정자를 가지고 있는 추상 클래스이다. 따라서 InputStream과 OutputStream은 객체를 직접 만들지 못하는 클래스로 대부분 추상 메소드를 정의하여 모든 후손 클래스가 이를 강제로 구현하게 만드는 통일의 의미로 사용된다. 1. InputStream 클래스 InputStream 클래스는 바이트 ..
File 클래스 정리 java.io 패키지는 기존의 파일이나 폴더에 대한 제어를 하는 데 사용하는 File 클래스를 제공한다. 이 클래스를 이용해서 파일과 폴더에 대한 다양한 기능을 제공한다. 파일을 나타내는 객체를 생성하려면 다음과 같은 File 클래스의 생성자 함수를 이용한다. * File 클래스의 생성자 File 클래스의 생성자 설명File(File parent, String Child) parent 객체 폴더의 child 라는 파일에 대한 File 객체를 생성한다.File(String pathname) pathname에 해당되는 파일의 File 객체를 생성한다. File(String parent, String, child) parent 폴더 경로의 child라는 파일에 대한 File 객체를 생성한..