Author: nextgens
Date: 2007-04-25 09:41:26 +0000 (Wed, 25 Apr 2007)
New Revision: 12934
Modified:
trunk/freenet/src/freenet/l10n/L10n.java
Log:
Follow toad's advice : backup the l10n override into a temporary file before
moving it over
Modified: trunk/freenet/src/freenet/l10n/L10n.java
===================================================================
--- trunk/freenet/src/freenet/l10n/L10n.java 2007-04-25 09:19:13 UTC (rev
12933)
+++ trunk/freenet/src/freenet/l10n/L10n.java 2007-04-25 09:41:26 UTC (rev
12934)
@@ -124,14 +124,23 @@
private static void _saveTranslationFile() {
FileOutputStream fos = null;
BufferedOutputStream bos = null;
+ File finalFile = new File(L10n.PREFIX +
L10n.getSelectedLanguage() + L10n.OVERRIDE_SUFFIX);
try {
- fos = new FileOutputStream(new File(L10n.PREFIX +
L10n.getSelectedLanguage() + L10n.OVERRIDE_SUFFIX));
+ // We don't set deleteOnExit on it : if the save
operation fails, we want a backup
+ File tempFile = new File(finalFile.getPath() + "-" +
System.currentTimeMillis() + ".tmp");
+ Logger.minor("L10n", "The temporary filename is : " +
tempFile);
+
+ fos = new FileOutputStream(tempFile);
bos = new BufferedOutputStream(fos);
bos.write(L10n.translationOverride.toOrderedString().getBytes("UTF-8"));
bos.flush();
+
+ tempFile.renameTo(finalFile);
+ tempFile.delete();
+
Logger.normal("L10n", "Override file saved
successfully!");
} catch (IOException e) {
Logger.error("L10n", "Error while saving the
translation override: "+ e.getMessage(), e);