私はファイルをtmpフォルダ内のフォルダに保存する必要があるエクスポート作業中です。各フォルダはエクスポートごとに異なる必要があります。System.setPropertyのスコープを、それを設定するメソッドだけに制限する方法はありますか?
だから私のexport()
方法は下記ん:
System.setProperty("java.io.tmpdir", System.getProperty("java.io.tmpdir")+pathSpecificToFirstExport);
のcreateTempFileメソッドは、その中のファイルを保存するSystem.getProperty("java.io.tmpdir")
を使用しています。
上記の方法が実行されている間、私が本当にしたいことだけSystem.getProperty("java.io.tmpdir")+pathSpecificToSecondExport
ありながら、export()
に別のコールがSystem.getProperty("java.io.tmpdir")+pathSpecificToFirstExport+pathSpecificToSecondExport
に新しいSystem.getProperty("java.io.tmpdir")
を設定します。
異なる環境でSystem.getProperty("java.io.tmpdir")
が変更されるたびに、新しいパスを追加するのではなく、System.getProperty("java.io.tmpdir")
をハードコードすることはできません。私はそれが私によって行われていないとして、一時ファイルが作成される方法を変更することはできませんが、write()
SXSSFWorkbook.java
ので:ある
File tmplFile = TempFile.createTempFile("poi-sxssf-template", ".xlsx");
は私が探していますどのような方法だけのインスタンスにSystem.getProperty("java.io.tmpdir")
の範囲を制限しますexport()
これは[XY問題](http://xyproblem.info)です。 SXSSFWorkbookでは、この致命的なパスを継続するのではなく、何を達成しようとしているのかを尋ねる必要があります。 –