亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

解決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

永泰县| 崇信县| 乾安县| 龙游县| 漳平市| 大理市| 宣威市| 扶沟县| 丰城市| 长武县| 临泉县| 紫金县| 广河县| 阜新市| 尤溪县| 镇康县| 巩留县| 金溪县| 石首市| 老河口市| 城固县| 交口县| 北票市| 莲花县| 宜昌市| 信阳市| 嫩江县| 红桥区| 盈江县| 孝昌县| 固安县| 甘洛县| 新建县| 富宁县| 蚌埠市| 昌宁县| 太湖县| 鹤山市| 育儿| 高密市| 黄骅市|