Ich arbeite an einem Export, der erfordert, dass die Dateien in einem Ordner im Ordner tmp gespeichert werden, und jeder Ordner muss für verschiedene Exporte unterschiedlich sein.Wie kann ich den Gültigkeitsbereich von System.setProperty auf nur die Methode beschränken, die es festlegt?
Also meine export()
Methode hat die folgenden:
System.setProperty("java.io.tmpdir", System.getProperty("java.io.tmpdir")+pathSpecificToFirstExport);
die createTempFile Methode nutzt System.getProperty("java.io.tmpdir")
die Dateien darin zu speichern.
Während das obige Verfahren ausgeführt wird, ein weiterer Anruf auf export()
setzt die neuen System.getProperty("java.io.tmpdir")
-System.getProperty("java.io.tmpdir")+pathSpecificToFirstExport+pathSpecificToSecondExport
während das, was ich will wirklich nur System.getProperty("java.io.tmpdir")+pathSpecificToSecondExport
ist.
Ich kann nicht System.getProperty("java.io.tmpdir")
System.getProperty("java.io.tmpdir")
HardCode codieren, anstatt neuen Pfad an es jedes Mal als System.getProperty("java.io.tmpdir")
Änderungen für verschiedene Umgebungen anzuhängen. Ich kann nicht die Art und Weise temporäre Datei erstellt wird, da es nicht von mir gemacht wird, sondern durch write()
von SXSSFWorkbook.java
:
File tmplFile = TempFile.createTempFile("poi-sxssf-template", ".xlsx");
Was ich suche, ist der Umfang der System.getProperty("java.io.tmpdir")
nur auf die Instanz des Verfahrens zu begrenzen export()
Irgendwelche Gedanken?
Dies ist ein [XY Problem] (http://xyproblem.info). Sie sollten sich fragen, was Sie eigentlich mit SXSSFWorkbook erreichen wollen, anstatt diesen Sackgassen-Pfad weiter zu verfolgen. –