#java #файлы
Есть xml, который открываю для редактирования на java. Как сделать так, чтобы на время работы тулзы, редактировать файл никто другой не мог? Дополнение: Нужно учесть, что тулза может быть завершена аварийно, поэтому file.setWritable(false) наверное не подойдет (файл останется залоченым) К сожалению, вариант Runtime.getRuntime().addShutdownHook(new Thread(() -> { file.setWritable(true); })); Не подходит, потому что если, во время работы программы, аварийно ее завершить, файл остается read only.
Ответы
Ответ 1
setWritable вполне подходят для ваших целей. А чтобы файл не оставался залоченым после остановки приложения, может помочь вот это Runtime.getRuntime().addShutdownHook(new Thread(() -> { file.setWritable(true); }));Ответ 2
public class JavaApplication17 { /** * @param args the command line arguments */ public static void main(String[] args) { final File file = new File("myFile"); Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { file.setWritable(true); } }); try { file.setWritable(false); Thread.sleep(1000000); } catch (Exception e) { // обработка исключений } finally { file.setWritable(true); } }
Комментариев нет:
Отправить комментарий