import java.io.FileOutputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
// 파일 출력 스트림 객체 생성
FileOutputStream out = new FileOutputStream("binaryIO.dat");
// 바이트 배열 생성
byte[] bytes = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77};
// bytes[2]부터 3개 출력.
// 즉, 0x33, 0x44, 0x55. 아스키 코드로 각각 3, D, U
out.write(bytes, 2, 3);
// 파일 출력 스트림 닫기
out.close();
System.out.println("파일 쓰기 완료");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.FileInputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
// 파일 입력 스트림 객체 생성
FileInputStream in = new FileInputStream("binaryIO.dat");
// 파일 데이터를 저장할 배열 생성 (0으로 자동 초기화 됨)
byte[] bytes = new byte[1024];
// int read(byte[] b, int off, int len) throws IOException
// b : 데이터를 저장할 배열
// off : b[off]부터 파일에서 읽은 데이터를 저장 (생략 가능)
// len : 파일에서 최대로 읽을 바이트 크기 (생략 가능)
// 반환값: 실제로 읽은 바이트 크기
int len = in.read(bytes, 5, 2);
for (int i = 0; i < 10; i++) {
System.out.printf("%x ", bytes[i]);
}
// 파일 입력 스트림 닫기
// 파일 스트림 버퍼 해제, 프로세스와 OS 연결 해제
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}