Bom dia!
Tenho um programinha em java que tem como resource um arquivo .exe
Esse programa ao ser executado copia esse .exe para uma pasta no sistema e executa ele, quando termina a execução ele apaga este programa.
Dentro do Eclipse funciona perfeitamente, quando gerei o .jar ele até chega a copiar o programa para a pasta desejada mas não executa-o.
Alguém poderia me ajudar, por favor?
Obrigado. Filipe.
Eis o código do programa:
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
public class Main {
public Main() throws Exception {
// TODO Auto-generated constructor stub
InputStream src = this.getClass().getResourceAsStream("/resources/MeuPrograma.exe");
if (src != null) {
File exeTempFile = File.createTempFile("MeuPrograma", ".exe", new File("C:\\SistADI\\sist\\infantil"));
byte[] ba = new byte[src.available()];
src.read(ba, 0, ba.length);
exeTempFile.deleteOnExit();
FileOutputStream os = new FileOutputStream(exeTempFile);
os.write(ba, 0, ba.length);
os.close();
String[] args = new String[3];
args[0] = exeTempFile.getAbsolutePath();
System.out.println(exeTempFile.getAbsolutePath());
args[1] = "One";
args[2] = "Two";
Process ps = Runtime.getRuntime().exec(args);
ps.waitFor();
InputStream is = ps.getInputStream();
byte b[] = new byte[is.available()];
is.read(b, 0, b.length);
System.out.println(new String(b));
} else
System.out.println("Executable not found");
}
public static void main(String[] args) throws Exception {
new Main();
}
}