나는 45MB의 큰 파일을 가지고 있으며, 나에게 사용 가능한 메모리가 제한되어 있다고 가정하고 5MB를 먼저 읽고 싶다고한다.자바에서 파일의 특정 양의 데이터를 읽는 방법
Java를 사용하여이 작업을 수행해야합니다. 누군가 제발 도와주세요.
미리 감사드립니다.
나는 45MB의 큰 파일을 가지고 있으며, 나에게 사용 가능한 메모리가 제한되어 있다고 가정하고 5MB를 먼저 읽고 싶다고한다.자바에서 파일의 특정 양의 데이터를 읽는 방법
Java를 사용하여이 작업을 수행해야합니다. 누군가 제발 도와주세요.
미리 감사드립니다.
다음 코드는 파일에서 5000 바이트 (5MB)를 읽습니다.
byte[] bytes = new byte[5000];
DataInputStream dis = new DataInputStream(new FileInputStream(file));
int read = 0;
int numRead = 0;
while (read < bytes.length && (numRead=dis.read(bytes, read, bytes.length-read)) >= 0) {
read = read + numRead;
}
이 경우 기본 바이트 스트림을 사용할 수 있습니다. I 판독을 사용하려는 http://docs.oracle.com/javase/tutorial/essential/io/bytestreams.html
체크 아웃 (바이트 [] b)
판독 '바이트의 배열로 입력 스트림에서 최대 b.length 바이트를 읽어'FileInputStream 객체 클래스의 메소드 (byte [] b, int off, int len) 메서드를 사용하면 이전에 읽은 데이터에 대한 오프셋을 사용하여이 작업을 수행 할 수도 있습니다.
StackOverflow에 오신 것을 환영합니다! 여기에 자주 제기되는 질문에는 작은 코드가 포함되어 있습니다 ... 이미 시도한 것을 보여줄 수 있습니까? –
텍스트 파일 이니셜 파일입니까? [BufferedReader.read (char [] cbuf, int off, int len)] (http://docs.oracle.com/javase/7/docs/api/java/io/BufferedReader.html)에서 살펴볼 수 있습니다. 문자 스트림을 처리하는 경우 메서드 – Sujay