Я получаю файл personHashMap.ser
с HashMap. Вот код, как я его создаю:
String file_path = ("//releasearea/ToolReleaseArea/user/personHashMap.ser");
public void createFile(Map<String, String> newContent) {
try{
File file = new File(file_path);
FileOutputStream fos=new FileOutputStream(file);
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.writeObject(newContent);
oos.flush();
oos.close();
fos.close();
}catch (Exception e){
System.err.println("Error in FileWrite: " + e.getMessage());
}
}
Теперь я хочу, чтобы во время работы программы все пять минут файл обновлялся personHashMap.ser
только содержимым, которое изменилось. Итак, метод, который я назвал:
public void updateFile(Map<String, String> newContent) {
Map<String, String> oldLdapContent = readFile();
if(!oldLdapContent.equals(ldapContent)){ // they arent the same,
// so i must update the file
}
}
Но сейчас у меня нет никаких идей, как я могу это реализовать.
И лучше ли для производительности обновлять только новый контент или нужно очистить полный файл и снова вставить новый список?
Надеюсь, вы можете мне помочь..
ИЗМЕНИТЬ:
HashMap включает, например, street=Example Street
.
Но теперь новая улица называется New Example Street
. Теперь я должен обновить HashMap в файле. Поэтому я не могу просто добавить новый контент...
System.err.println("Error in FileWrite: " + e.getMessage());
- это приведет к потере трассировки стека, и ваша программа не должна работать. Лучше перекинуть какRuntimeException
. - person artbristol   schedule 08.10.2012