죄송합니다. 큰 파일을 읽고 싶지만 오류가 발생하면 outOfMemoryError이 발생합니다. 응용 프로그램에서 메모리로 작업하는 방법을 이해하지 못합니다. 다음 코드는 작동하지 않습니다.큰 파일 오류 "outofmemoryerror"(java)
try {
StringBuilder fileData = new StringBuilder(1000);
BufferedReader reader = new BufferedReader(new FileReader(file));
char[] buf = new char[8192];
int bytesread = 0,
bytesBuffered = 0;
while((bytesread = reader.read(buf)) > -1) {
String readData = String.valueOf(buf, 0, bytesread);
bytesBuffered += bytesread;
fileData.append(readData); //this is error
if (bytesBuffered > 1024 * 1024) {
bytesBuffered = 0;
}
}
System.out.println(fileData.toString().toCharArray());
} finally {
}
사용할 수있는 가장 높은 Java 버전은 무엇입니까? 이런 방식으로 파일을 읽는 것은 꽤 오래된 것입니다. 안드로이드 등으로 인해 Java 6을 사용해야합니다. 그렇지 않으면 Java 8의 Stream API를 사용해야합니다. – Bevor
1.70_71을 사용합니다. readLine()이 아닌 큰 파일을 읽어야합니다. 파일 (5GB)에는 한 줄만 쓸 수 있기 때문에 – qazqwerty