파일 크기가 8KB보다 큰 경우 왜 LAST 바이트를 읽습니다 = 0입니까?Java BufferedInputStream 동작
private static final int GAP_SIZE = 8 * 1024;
public static void main(String[] args) throws Exception{
File tmp = File.createTempFile("gap", ".txt");
FileOutputStream out = new FileOutputStream(tmp);
out.write(1);
out.write(new byte[GAP_SIZE]);
out.write(2);
out.close();
BufferedInputStream in = new BufferedInputStream(new FileInputStream(tmp));
int first = in.read();
in.skip(GAP_SIZE);
int last = in.read();
System.out.println(first);
System.out.println(last);
}
실제 바이트 수 스킵이 보장되지 않는다. 그것을 확인해야합니다. 네이티브 파일 시스템 블록 크기를 지나치는 것을 원하지 않는 것 같습니다. – Perception