I'm making a .bat
dynamically in Java
.
After creating the file and exectuing it, I want to delete it.
In order to make sure that delete()
will be executing after running the .bat
file, I delete the file within a different thread.
Is this a good approach for this task? How would you implement it in a better way?
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();