91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決Java導入excel大量數據出現內存溢出的問題

發布時間:2020-09-04 00:18:08 來源:腳本之家 閱讀:508 作者:dandanfeng1992 欄目:編程語言

問題:系統要求導入40萬條excel數據,采用poi方式,服務器出現內存溢出情況。

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

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

 private BufferedReader bReader;

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

  /**
   * 讀取csv并處理數據
   * @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 = "";
        //忽略第一行標題
        for (int i = 0; i < 1; i++) { 
          line = bReader.readLine(); 
        }
        while((line = bReader.readLine()) != null){
          if (line.trim() != "") {
          //分割開來的即是對應的每個單元格,注意空的情況
            String[] result = line.split(",");

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

以上這篇解決Java導入excel大量數據出現內存溢出的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽宁省| 海林市| 佛山市| 武强县| 钟山县| 汨罗市| 化隆| 汉源县| 连平县| 肃宁县| 阿坝县| 曲阳县| 辰溪县| 陇西县| 青龙| 盘山县| 阿巴嘎旗| 华容县| 丰顺县| 兴宁市| 荥阳市| 新郑市| 扬州市| 阜宁县| 泾川县| 临湘市| 和林格尔县| 天祝| 安庆市| 大兴区| 阿拉尔市| 自贡市| 丰城市| 屏边| 天门市| 嘉兴市| 会泽县| 滁州市| 中山市| 桦川县| 砀山县|