read_data = new BufferedReader(new FileReader(args[0]));
data_buffer = new StringBuffer();
int i;
while(read_data.ready())
{
while((i = read_data.read()) != -1)
{
data_buffer.append((char)i);
}
}
data_buffer.append(System.getProperty("line.separator"));
내가하려는 것은 전체 .txt 파일을 문자열로 읽고 문자열에 줄 바꿈을 추가하는 것입니다. 그리고 나서 나중에 data_buffer.toString()을 전달하여 새 Scanner를 작성하여이 문자열을 처리 할 수 있습니다. 분명히 정말로 큰 파일에서이 프로세스는 많은 시간이 걸리고, 내가하고 싶은 것은 메모리에 읽어 들인 .txt 파일에 개행을 추가하는 것뿐입니다.메모리에로드 된 파일에 char을 추가하는 가장 빠르고 효율적인 방법은 무엇입니까?
나는 전체적인 생각이 조금 해킹되거나 이상하게 보일 수도 있지만, 더 빠른 방법이 있습니까?
건배 :)
글쎄, 최소한, 재 배열 작업을 최소화하기 위해 파일의 길이 (알 수있는 경우) 또는 최소한 합리적으로 많은 수로 StringBuffer를 초기화하십시오. –
감사합니다. 나는이 링크가 트릭을 정말 잘했음을 발견했다. 그래서 나는 똑같은 것을 궁금해하는 다른 사람들을 위해 다음과 같이한다. http://weblogs.java.net/blog/pat/archive/2004/10/stupid_scanner.html – Chrispy