-
[TIL] 2022년 9월 26일 월요일카테고리 없음 2022. 9. 26. 21:27
6. 표준입출력과 File ᐧ Class System - System 클래스는 유용한 클래스 필드(class field)와 메소드를 갖고있음 → 클래스 필드란 클래스에 포함된 변수로 선언된 위치에 따라 클래스 변수(static variable), 인스턴스 변수(instance variable), 지역 변수(local variable)로 나뉨 - System 클래스의 필드는 인스턴트화할 수 없음 - System클래스의 기능은 다음 네 가지로 나눌 수 있음 → Standard input, Standard output, Error Output Stream → 환경변수나 외부에 정의된 속성에 접근 → 파일이나 라이브러리를 로딩하는 수단 → 배열의 일부분을 빠르게 복사하기 위한 메소드 6.1 표준입출력 - Sys..
-
[TIL] 2022년 9월 22일 목요일카테고리 없음 2022. 9. 22. 17:16
4.4 StringReader와 StringWriter - StringReader와 StringWriter는 CharArrayReader와 CharArrayWriter와 같이 입출력 대상이 메모리인 스트림 - StringWriter에 출력되는 데이터는 StringBuffer에 데이터를 저장하고 getBuffer()와 toString()와 같은 메소드를 통해 StringBuffer에 저장된 데이터를 얻을 수 있음 - 근본적으로 String도 char 배열이라면 거의 같은데 왜 두 개의 클래스가 있는걸까? CharArrayWriter는 reset() 메소드로 이미 할당된 버퍼를 버릴 필요 없이 다시 쓸 수 있도록 초기화할 수 있다는 것과 size() 메소드로 현재 버퍼 사이즈를 알 수 있다는 것 두 가지 메..
-
[TIL] 2022년 9월 21일 수요일카테고리 없음 2022. 9. 21. 22:57
4. 문자기반 스트림 - 문자기반 스트림은 바이트 단위로 데이터를 다루던 바이트기반 스트림 달리 문자 단위로 데이터를 다루는 점을 제외하면 사용 방법은 동일 - 그렇다면 문자기반 스트림과 바이트기반 스트림은 무엇이 다를까? → 바이트기반 스트림은 데이터를 읽어올 때 read(byte[] b)을 이용하고 문자기반 스트림은 read(char[] c)를 이용 Stream클래스는 byte 기반 클래스로 byte 단위로 데이터를 읽고 쓰기때문에 이미지처럼 이진수로 된 파일을 다루거나 작은 데이터를 다루는데 유용하다. Reader/Writer 클래스는 문자 기반 클래스로 하나의 문자씩 데이터를 읽고 쓰기 때문에 텍스트 파일이나 다른 텍스트 스트림을 다루는데 유용하다. InputStream은 데이터를 byte 단위로..
-
[TIL] 2022년 9월 20일 화요일카테고리 없음 2022. 9. 20. 09:18
3.3 DataInputStream과 DataOutputStream - DataInputStream과 DataOutputStream은 각각 FilterInputStream, FilterOutputStream의 자식 클래스이자 DataInput, DataOutput 인터페이스를 구현 - DataInput과 DataOutput을 구현한 덕분에 이진 스트림에서 바이트를 읽고 이를 Java의 기본자료형으로, Java 기본 자료형에서 이진 스트림의 바이트로 재구성할 수 있음 자료형 메소드 설명 int read(byte[] b) Reads some number of bytes from the contained input stream and stores them into the buffer array b. int ..
-
[TIL] 2022년 9월 19일 월요일카테고리 없음 2022. 9. 19. 20:03
3. 바이트기반의 보조스트림 3.1 FilterInputStream과 FilterOutputStream - FilterInputStream과 FilterOutputStream은 각각 InputStream과 OutputStream의 자식 클래스이면서 보조스트림 클래스의 조상 클래스 - FilterInputStream/FilterOutputStream은 보조스트림으로 자체적으로 입출력을 수행할 수 없고 InputStream과 OutputStream이 필요함 - FilterInputStream/FilterOutputStream은 각각 InputStream과 OutputStream의 모든 메소드를 상속받을 수 있고 상속을 통해 원하는 작업을 수행하도록 오버라이딩해야 함 - FilterInputStream은 접근..
-
[자바의 정석] Ch.15 입출력(I/O)스터디플래너/공부하기 2022. 9. 18. 12:35
1. 자바에서의 입출력 1.1 입출력이란? - I/O는 입력을 뜻하는 Input과 출력을 뜻하는 Output의 줄임말. - 입출력은 컴퓨터 내부/외부 장치와 프로그램간의 데이터를 주고받는 것으로 Scanner를 통해 키보드로 데이터를 입력받고 System.out.println()을 이용하여 화면에 출력하는 것이 예시. 1.2 스트림(Stream) - 스트림은 데이터를 어느 한 쪽에서 다른 쪽으로 전달할 때 두 대상을 연결하고 데이터를 전송할 수 있는 무언가를 뜻함. - 스트림은 데이터를 운반하는데 사용하는 연결통로로 단방향통신만 가능해 하나의 스트림으로 입력과 출력을 동시에 처리할 수 없음 → 입출력을 위해 입력 스트림과 출력 스트림 ,두 개의 스트림이 필요. 1.3 바이트기반 스트림 - InputStr..
-
[TIL] 2022년 9월 18일 일요일카테고리 없음 2022. 9. 18. 11:50
2.3 FileInputStream과 FileOutputStream 생성자 설명 FileInputStream(String name) Creates a FileInputStream by opening a connection to an actual file, the file named by the path name name in the file system. FileInputStream(File file) Creates a FileInputStream by opening a connection to an actual file, the file named by the File object file in the file system. FileInputStream(FileDescriptor fdObj) Creat..
-
[TIL] 2022년 9월 17일 토요일카테고리 없음 2022. 9. 17. 12:30
1.5 문자기반 스트림 - Reader, Writer - Java에서 문자 자료형인 char는 2 byte 이지만 바이트기반 스트림은 1byte로 바이트기반 스트림으로 문자를 처리하기 어려움 → 문자데이터를 입출력할 때 문자기반 스트림을 사용 바이트기반 스트림 문자기반 스트림 FileInputStream FileOutputStream FileReader FileWriter ByteArrayInputStream ByteArrayOutputStream ByteArrayReader ByteArrayWriter PipedInputStream PipedOutputStream PipedReader PipedWriter StringBufferedInputStream(deprecated) StringBufferedOu..