

Spring Bootを使用してCSVファイルをアップロードして、データを取り込む機能を実装しております。  
ファイルアップロードしたCSVからデータを読み取るとファイルがロックされたままの状態になり、エディタから編集することができませんでした。  
Chromeでは発生しなかったのですが、FirefoxとIEで発生しているようです。解決する方法はあるのでしょうか。

おそらくStream周りが原因かと思いますので、データ取得のメソッドを添付します。

■データ取得メソッド

[code]

    public List<List<String>> getCsvData(MultipartFile csvFile) throws Exception {
        List<String> lines = new ArrayList<String>();
        String line = null;
        
        InputStream stream = null;
        Reader reader = null;
        BufferedReader buf = null;
        try {
            stream = csvFile.getInputStream();
            reader = new InputStreamReader(stream);
            buf= new BufferedReader(reader);
            while((line = buf.readLine()) != null) {
                lines.add(line);
            }
            line = buf.readLine();
            
        } catch (Exception ex) {
            throw ex;
        } finally {
            if (stream != null) stream.close();
            if (reader != null) reader.close();
            if (buf != null) buf.close();
        }
        if(0 < lines.size()) lines.remove(0); 
        
        List<List<String>> csvData = new ArrayList<List<String>>();
        for (String lineDat : lines) {
            List<String> splited = this.csvSplit(lineDat);
            csvData.add(splited);
        }
        
        return csvData;
    }
    
[/code]


CC BY-SA 4.0
2020-07-03T02:50:06.313
68235
2020-07-03T02:50:06.313
27116
question
java spring-boot
Spring Boot ファイルアップロードしたCSVを保存せずにデータを読み取るとファイルがロックされたままになる