[질문] OutOfMemory
봄해
2023.04.01
try{
while(eof){
ch = br.read();
}
}catch(Exception){}
finally{ br.close();}
/*
ch = Char
br = BufferedReader
*/
이런식으로 파일을 읽어 옵니다.
그런데 파일크기가 큰(100메가 정도) 의 파일을 읽어 오면
OutOfMemory 가 발생합니다.
궁금한것이 ,
파일br.read() 를 반복적으로(많이) 도는것 만으로 OutOfMemory가 발생할수 있나요?
매번 BufferedReader 를 생성했다 close()를 안해준것도아니고 생성된 하나의 BufferedReader 가 단지 파일에대해 특정위치를
검색하면서 읽어올 뿐인데 요.^^
큰파일을 검색하면 아무 반응 없다 OutOfMemory 가 발생해 버리네요.ㅠㅠ
-
큰뫼
답변 감사합니다^^ 역시나 질문이 두서가 없어서~~ㅎㅎ
mark , reset 메소드를 사용해야 해서 BufferedReader 를 써야 했거든요 , -
아더
답글이 없어서, 몇자 적습니다. 정확히 꼬집어서 뭐라고 말하기 어렵네요. 수다님이 처한 상황을 정확히 알수 있는게 아니라,.. 제경우에 이클립스와 같은 툴에서 디버깅시 그런 에러가 나는경우가 있었는데.. bufferedreader 말고, inputstream 과 같은 low level 스트림 클래스로 변경해서 사용해보시는게 어떨까요.