을 많이 사용의 BufferedReader 내가 매우 큰 파일 (~ 100g)에 BufferedReader로하고을 FileReader를 사용 RAM
이 낮은 메모리를 사용 처음에BufferedReader reader = new BufferedReader(new FileReader("file path"));
BufferedWriter writer = new BufferedWriter(new FileWriter("output file"));
String line;
while ((line = reader.readLine()) != null) {
// check if i need this line, and if i need it, i print it
writer.write(line);
writer.newLine();
}
writer.close();
reader.close();
난 내 파일에이 소스를 실행하지만, 천천히 사용 된 메모리가 커집니다 (50g 이상의 RAM을 쉽게 사용할 수 있음).
왜 그렇게 생겼습니까? 내가 고칠 수 있을까?
당신이 라인 뭐하는거야? –
@JonSkeet 질문을 업데이트합니다. 나는 각 줄을 가져 와서 탭으로 구분하고 (내 파일은 탭으로 구분),이 줄이 필요한지 확인하기 위해 출력 파일에 BufferedWriter로 출력한다. – ldoroni
그럼 어디서나 * 절약 할 수 없습니까? 여러분이 제시 한 코드를 사용하면 가비지 컬렉터가 문제없이 처리 할 수있을 것이라고 기대합니다. 파일에 커다란 개별 줄 *이 없으면 말입니다. –