Commit bac1346a authored by Steffen Gieseler's avatar Steffen Gieseler

XML-Parser mit InputStream, um sicherstellen zu können, dass der Stream

geschlossen wird
Setze LastModifiedTime für Kopie, da dieses Attribut (unter Windows)
beim Kopieren von Dateien nicht geändert wird. Für die Tests der SWE
sind die beigestellten Testdateien damit alt und werden bei
'ueberpruefeSicherungsverzeichnis' gleich wieder gelöscht.

git-svn-id: svn://ntoserver/Datenverteiler/VRZ3/trunk/de.bsvrz.kex.lmstic3@64239 40c0be50-5d29-0410-901d-fb59edb5cafc
parent 0d8be31c
......@@ -30,6 +30,7 @@ import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.attribute.FileTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
......@@ -158,6 +159,12 @@ public class Meldungsdekodierer extends Thread implements LMSFTPListener {
*/
void kopiereDatei(final String quelldatei, final String zieldatei) throws IOException {
Files.copy(Paths.get(quelldatei), Paths.get(zieldatei));
// Setze LastModifiedTime für Kopie, da dieses Attribut (unter Windows)
// beim Kopieren von Dateien nicht geändert wird. Für die Tests der SWE
// sind die beigestellten Testdateien damit alt und werden bei
// 'ueberpruefeSicherungsverzeichnis' gleich wieder gelöscht.
Files.setLastModifiedTime(Paths.get(zieldatei), FileTime.fromMillis(System.currentTimeMillis()));
}
@Override
......@@ -315,7 +322,11 @@ public class Meldungsdekodierer extends Thread implements LMSFTPListener {
sichereDatei(datei);
}
LMSTIC3LogTools.log(debug, LmsMsg.FineDateiGeloescht, datei);
datei.delete();
final boolean delete = datei.delete();
if (!delete) {
debug.warning("Die Datei '" + datei.getAbsolutePath() + "' konnte nicht gelöscht werden!");
}
}
}
......
......@@ -27,6 +27,9 @@
package de.bsvrz.kex.lmstic3.empfang.dekoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
......@@ -140,11 +143,20 @@ public class TIC3InfoDatei {
}
}
InputStream is = null;
try {
final DocumentBuilder parser = docfactory.newDocumentBuilder();
doc = parser.parse(ticDatei);
is = new FileInputStream(ticDatei);
doc = parser.parse(is);
} catch (final Exception e) {
throw new TIC3InfoDateiException(e.getMessage());
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
}
}
}
return doc;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment