0
60 메가 바이트 대용량 파일을 바이트로 읽으려고 할 때 java.outOfMemory 예외가 발생합니다. 나는 아파치를 시도 I/공유지 [IOUtils.toByteArray (FOS)] 및 O :바이트로 파일을 읽을 때 java.outOfMemory
File file = new File(f);
int size = (int) file.length();
byte[] bytes = new byte[size];
try {
BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
buf.read(bytes, 0, bytes.length);
buf.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bytes;
내가 예외없이 [] 바이트 파일을 읽을 수있는 방법을 누군가 생각 했습니까?을
파일을 15MB짜리 조각으로 나누고, 테마에 "헤더"(바이트로, 자체 부품 번호 포함)를 추가하고, 공유하고 싶습니다. "헤더"정보와 함께 다시 공유하려고합니다. 원본 파일을 구성하십시오.
당신이 메모리에 큰 파일을 읽고 그것의 실행을 원하는대로 구성 문자열 라인 like described here로 파일을 읽고 각 라인 &에서 바이트를 얻을 수
String.getBytes()
방법을 사용할 수있다 예상 결과 – thepoosh60MB 파일은 크지 만 상대적으로 최근 컴퓨터의 한계를 두드리는 데 거의 적합하지 않습니다. 예외를 게시하고 발생한 코드 위의 코드 줄을 가리킬 수 있습니까? –
@JStevenPerry'BufferedReaderStream'이 많은 장치에서 64MB 이하의 제한을 갖는 힙에 만들어 졌다는 것을 어떻게 생각하세요? "최근 컴퓨터"가이 작업과 관련이있는 것은 무엇입니까? – Simon