Я делаю .bat
динамически в Java
.
После создания файла и его выполнения я хочу его удалить.
Чтобы убедиться, что delete()
будет выполняться после запуска файла .bat
, я удаляю файл в другом потоке.
Это хороший подход для этой задачи? Как бы вы реализовали это лучше?
final File file = new File("run.bat");
file.createNewFile();
PrintWriter writer = new PrintWriter(file, "UTF-8");
writer.println(COMMAND1);
writer.println(COMMAND2);
.... ANOTHER COMMANDS
writer.close();
Runtime.getRuntime().exec("cmd /c start a.bat");
new Thread(new Runnable() {
public void run() {
file.delete();
}
}).run();