копирование XML-файла при его открытии в Java - PullRequest
0 голосов
/ 17 ноября 2011

Я подключаю XML с помощью odbc: jdbc из java и обновляю файл A.xml. После завершения обновления я копирую файл A.xml в другое место и переименовываю этот файл (скажем, в copy.xml). Все отлично работает Но я заметил, что если во время обновления был открыт оригинальный файл A.xml, файл copy.xml будет пустым. Затем я решил написать макрос в файле A.xml, чтобы автоматически сохранить рабочий лист при изменении значения любого столбца. Этот макрос работает, но файл copy.xml по-прежнему пуст.

Я использую

List<String> command = new ArrayList<String>();
            command.add("cmd.exe");
            command.add("/c");
            command.add("copy A.xml copy.xml ");            
            ProcessBuilder processBuilder = new ProcessBuilder(command);
            Process process = processBuilder.start();

для копирования файла.

Есть ли другой способ сделать это.

1 Ответ

1 голос
/ 17 ноября 2011

Вот как вы можете скопировать файл, используя Java IO API:

import static java.nio.file.StandardCopyOption.*;
...
Files.copy(source, target, REPLACE_EXISTING);

Полная документация здесь Кроме того, вы должны убедиться, что файл не обновляется при копированииэто на новое место.

...