Я пытаюсь написать файл excel в java и сохранить его в общей папке. но если файл в настоящее время открыт кем-либо в любой системе, он выдает ошибку. Итак, есть ли способ закрыть файл excel с помощью команды java?
Как закрыть открытый файл в java
Ответы (3)
Если файл на самом деле открыт в чьем-то окне (например, вы открываете документ MS Word), то закрыть файл на их компьютере из программы Java будет невозможно. Если вам просто нужно однократно обновить этот файл, я бы рекомендовал создать другой файл с другим именем, а затем вручную заменить содержимое нужного места назначения содержимым файла, который вы создаете программно.
net files <id> /close
(где <id>
— это идентификатор указанного файла, отображаемый при запуске net files
без каких-либо аргументов)
- person tombrown52; 20.08.2015
Как удалить/закрыть открытый файл excel. поэтому вы должны автоматически закрыть файл перед удалением...
final File file=new File("E:\\book1.xlsx");
Runtime.getRuntime().exec(
"cmd /c taskkill /f /im excel.exe");
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.currentThread().sleep(2000);// you need to wait 1-2 sec to close file before delete
file.delete();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
В зависимости от того, как файл открыт, вы можете выполнить команду net files <id> /close
через Runtime.exec()
. Вы также можете комбинировать команду psexec
для закрытия файлов на удаленных компьютерах.
Этот ответ, похоже, описывает аналогичную ситуацию, вам просто нужно заставить java запускать команды: https://superuser.com/questions/643916/remotely-close-open-shared-files
outputStream.close();
, если вы не хотите закрыть файл в другой программе. - person eric.m   schedule 20.08.2015