행과 열을 포함하는 거대한 데이터 파일 (csv 형식)을 읽고 싶습니다. 각 열을 순서대로 읽고 처리하고 싶습니다. 어떤 방법이 속도와 메모리 사용면에서 더 효율적입니까? 자바의 CSVReader 또는 임의 액세스 파일 기능을 사용해야합니까? 도와주세요. 감사합니다.CSVReader 또는 RandomAccessFile 파일을 읽을 때 Java에서보다 효율적인 방법은 무엇입니까?
-1
A
답변
2
성능과 효율성을 최우선으로 생각하는 경우 memory mapped files and NIO을 사용하고 자체 CSV 파서를 작성하십시오.
하지만 대부분의 경우 시간 낭비 일뿐입니다. 따라서 먼저 CSVReader
을 시도해보고이 방법이 효과가 없다고 판단한 경우에만 CSV 파서를 작성하십시오.
BufferedReader
은 일반적으로 RandomAccessFile
보다 빠릅니다.
+1
+1 - 실적에 시간을 낭비하지 않는 것이 중요합니다. 1) 응용 프로그램이 너무 느리고 2) 파일을 읽는 것이 대부분의 시간을 차지한다는 명백한 증거가있는 경우에만 그럴 가치가 있습니다. –
+0
답변에 감사드립니다! CSVReader를 당분간 사용하겠습니다. 코드 작성을위한 많은 것들이 있습니다. – Kaur
'CSVReader'와'RandomAccessFile'은 두 가지 다른 것들입니다. 모든 버퍼링 된 리더는 버퍼되지 않은'RandomAccessFile' 읽는 것보다 빠릅니다. –