검색결과 리스트
글
<스트림>
어느 한쪽에서 다른 쪽으로 데이터를 전달하려면 두 대상을 연결하고 데이터를 전송할 수 있는 무언가가 필요한데 이것을 스트림이라 한다.
먼저, InputStream, OutputStream에 대해서 알아보자.
InputStream은 입력 스트림이고, OutputStream는 출력 스트림이다. 이 클래스들은 java.io패키지에서 재정의 되어있고, 많은 종류의 입출력 관련 클래스들을 제공하고 있다.
<InputStream>
InputStream의 메소드를 알아보자.
abstract int read() : 1바이트를 읽어온다. 읽어올 바이트가 없다면 -1을 반환한다. abstract 메소드이기 때문에 무조건 정의해줘야함.
void close() : 스트림을 닫는다.
void mark(int readlimit) : 현재 위치를 표시한다. 추 후에 reset()에 의해서 표시해 놓은 위치로 다시 돌아갈 수 있다. readlimit은 되돌아 갈 수 있는 바이트의 수
int read(byte[] b) : 배열 b의 크기만큼 읽어서 배열을 채우고 읽어 온 데이터의 수를 반환.
int read(byte[] b, int start, int len) : 최대 len개의 byte를 읽어서 배열 b의 지정된 위치인 start부터 저장.
void reset() : 스트림에서의 위치를 마지막으로 mark()이 호출되었던 위치로 되돌린다.
public abstract class InputStream {
abstract int read(); // 입력 스트림으로부터 1바이트를 읽어서 반환하고, 없으면 -1을 반환.
int read(byte[] b, int start, int len) {
for(int i=start; i < start+len; i++) {
b[i] = (byte)read();
}
int read(byte[] b) {
return read(b, 0, b.length);
}
이것은 InputStream의 주요기능은 read메소드를 다시 이해하기 쉽게 바꿔보았다.
<OutputStream>
void close() : 입력소스를 닫는다.
void flush() : 스트림의 버퍼에 있는 모든 내용을 출력소스에 쓴다.
abstract void write(int b) : 주어진 값을 출력소스에 쓴다.
void write(byte[] b) : 주어진 배열 b에 저장된 모든 내용을 출력소스에 쓴다.
void write(byte[] b, int start, int len) : 주어진 배열 b에 저장된 내용 중에서 start번째 부터 len개 만큼만을 읽어서 출력소스에 쓴다.
<실습>
-결과-
'Programming > Java' 카테고리의 다른 글
Java - File클래스 (0) | 2015.12.08 |
---|---|
Java - FileInputStream, FileOutputStream (0) | 2015.12.08 |
Java - Thread, (run()메소드, start()메소드의 차이) (0) | 2015.12.08 |
Java - 예외 처리 (Exception) (0) | 2015.12.08 |
Java - Hashtable, HashMap (0) | 2015.12.08 |
RECENT COMMENT