ByteArrayInputStream ByteArrayOutputStream
자주쓰이지않는다.
바이트배열로 데이터 입출력한다.
다른곳에 입출력하기전에 데이터를 임시로 배열에 담아 변환작업을 하는데 사용.
데이터를 메모리에 임시로 저장하면 파일이나 네트워크 연결 등과 같은 지속적인 저장소에 직접적으로 액세스할 필요가 없으므로 편리하다.
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class ByteArrayExample {
public static void main(String[] args) {
// 데이터를 쓸 ByteArrayOutputStream 생성
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// "Hello, world!"라는 문자열을 ByteArrayOutputStream에 쓴다.
try {
outputStream.write("Hello, world!".getBytes());
} catch (IOException e) {
e.printStackTrace();
}
// ByteArrayOutputStream의 내용을 바이트 배열로 가져오기
byte[] byteArray = outputStream.toByteArray();
// ByteArrayInputStream을 사용하여 데이터 읽기
ByteArrayInputStream inputStream = new ByteArrayInputStream(byteArray);
// ByteArrayInputStream을 사용하여 다시 읽어와 출력한다.
int byteRead;
try {
while ((byteRead = inputStream.read()) != -1) {
System.out.print((char) byteRead);
}
} catch (IOException e) {
e.printStackTrace();
}
// 스트림 닫기
try {
inputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
[출력 결과]
Hello, world!