[java] 파일 라인수 얻기, 특정라인 빨리 읽기 (빠른 라인처리)
개발을 하던중 데이터 시스템을 제작할 일이 생겨서 java 로 복잡하지 않은 시스템을 만들기로 하였습니다. 아래와같이 간단한 설계를 진행하였고 .. 데이터는 json object 단위로 파일의 한라인에 입력 병렬 접근이 가능하게 하기위해 파일을 설정한 용량으로 나누어서 생성 각 데이터의 인덱스는 파일경로, 라인위치로 지정함 위 요건들을 충족하기 위해서 빠른 속도로 파일 라인수를 읽고 특정라인을 빨리 읽어오는 부분이 필요하게 되었습니다. 소스 https://github.com/runonio/commons modules -> commons 에서 사용할 수 있습니다. int count = FileUtil . getLineCount ( filePath ); String lineValue = FileUtil . getLine ( filePath , 77 ) 성능비교 성능 비교에 사용한 소스 //java.io 패키지 사용 try ( BufferedReader br = new BufferedReader ( new InputStreamReader ( new FileInputStream ( file ), charSet ))){ String line ; while (( line = br . readLine ()) != null ) { } } catch ( IOException e ){ throw new IORuntimeException ( e ); } //java.nio 패키지 사용 try ( Stream < String > lines = Files . lines ( Paths . get ( path ), StandardCharsets . UTF_8 )) { //noinspection OptionalGetWithoutIsPresent return lines . skip ( lineIndex ). findFirst (). get (); } catch ( IOExceptio...