문제 : 시스템은 400,000 개의 Excel 데이터를 가져와야하며 서버에는 POI 메소드를 사용하여 메모리 오버플로가 있습니다.
솔루션 : hssfworkbook 통합 문서 = 새로운 HSSFWorkbook (Path)은 한 번에 메모리에 탁월한 메모리에 엑셀을로드하여 메모리가 충분하지 않습니다.
따라서 읽기 CSV 형식이 채택됩니다. CSV의 데이터는 X1, X2, X3로 형성되므로 TXT 문서를 읽는 것과 유사합니다.
개인 버퍼링 리더 Breader; / *** 실행 파일 항목*/ public void execute () {try {if (! path.endswith ( ". CSV")) { "-----이 파일은 CSV 파일이 아니므로 올바른 파일 형식 ------"; 반품 ; } long starttime = system.currentTimeMillis (); logger.info("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ endTime + "---Time consumes time = " + (EndTime -StartTime));} catch (예외 e) {e.printstacktrace ();}} / ** * CSV 읽기 및 프로세스 데이터 * @param path * @throws Exception * / private void readcsv (String Path)는 {파일 = 새 파일 (path); {breader = new BufferedReader (new PripeStramer (new incutestreameR) "GBK"); String line = "; // (int i = 0; i <1; i ++) {(line = breader.readline ()); }}}} 마침내 {if (breader! = null) {breader.close ()};위의 기사는 Java에서 Excel로 가져온 다량의 데이터로 메모리 오버플로 문제를 해결합니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.