最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Java導(dǎo)入excel大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出的問(wèn)題

 更新時(shí)間:2018年06月26日 09:53:00   作者:dandanfeng1992  
今天小編就為大家分享一篇解決Java導(dǎo)入excel大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

問(wèn)題:系統(tǒng)要求導(dǎo)入40萬(wàn)條excel數(shù)據(jù),采用poi方式,服務(wù)器出現(xiàn)內(nèi)存溢出情況。

解決方法:由于HSSFWorkbook workbook = new HSSFWorkbook(path)一次性將excel load到內(nèi)存中導(dǎo)致內(nèi)存不夠。

故采用讀取csv格式。由于csv的數(shù)據(jù)以x1,x2,x3形成,類似讀取txt文檔。

 private BufferedReader bReader;

  /**
   * 執(zhí)行文件入口
   */
  public void execute() {
    try {
      if(!path.endsWith(".csv")){
        logger.info("-----該文件不是以CSV文件,請(qǐng)上傳正確的文件格式------");
        return ;
      }
      Long startTime = System.currentTimeMillis();
      logger.info("------開始執(zhí)行定時(shí)任務(wù),時(shí)間=" + startTime);
      readCSV(path);
      Long endTime = System.currentTimeMillis();
      logger.info("------結(jié)束定時(shí)任務(wù),時(shí)間=" + endTime + "---耗時(shí)="
          + (endTime - startTime));
    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  /**
   * 讀取csv并處理數(shù)據(jù)
   * @param path
   * @throws Exception
   */
  private void readCSV(String path) throws Exception {
    File file = new File(path); 
    try {
      bReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "gbk"));
       String line = "";
        //忽略第一行標(biāo)題
        for (int i = 0; i < 1; i++) { 
          line = bReader.readLine(); 
        }
        while((line = bReader.readLine()) != null){
          if (line.trim() != "") {
          //分割開來(lái)的即是對(duì)應(yīng)的每個(gè)單元格,注意空的情況
            String[] result = line.split(",");

            }
          }
        } 
    } finally {
      if (bReader != null) {
        bReader.close();
      }
    }
  }

以上這篇解決Java導(dǎo)入excel大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

吴桥县| 淳化县| 水城县| 桂林市| 无棣县| 山阴县| 舞钢市| 江孜县| 滕州市| 临夏市| 婺源县| 芦溪县| 镇巴县| 沙河市| 新巴尔虎右旗| 渝中区| 望江县| 安乡县| 天祝| 朝阳县| 宁波市| 舟山市| 乐清市| 汶上县| 忻城县| 兴文县| 邹平县| 铜陵市| 江都市| 宁安市| 门源| 平凉市| 屏东市| 太白县| 嘉义市| 南京市| 四子王旗| 即墨市| 太仓市| 阿勒泰市| 黔西|