⑴ java 遠程調用exe
你遠程的機器是windows的么?別說是linux或者unix的
⑵ java 項目 調用外部exe,exe放在java項目包中的。
public class One
{
public static void main(String[] args) throws Exception
{
String path=One.class.getClassLoader().getResource("com/one/Decima.exe").getFile();
path = java.net.URLDecoder.decode(path,"utf-8");
Runtime.getRuntime().exec(path.substring(1));
String path2=One.class.getClassLoader().getResource("com/one/SQL.chm").getFile();
path2 = java.net.URLDecoder.decode(path2,"utf-8");
Runtime.getRuntime().exec("hh.exe " +path2.substring(1));
}
}
兩個例子 需要這句話path2 = java.net.URLDecoder.decode(path2,"utf-8"); 是防止路徑有空格
如果保證每空格 可以去掉
⑶ 怎麼用JAVA調用C的EXE程序並且實現程序自動輸入
import java.io.*;
import java.lang.*;
import java.nio.charset.*;
public class Rt
{
public static void main(String[] args) throws Exception
{
if( args.length == 0 ) {
System.out.println("用法豎喚: java Rt <目標EXE> <提供給EXE的參數尺或...>");
return;
}
Runtime rt = Runtime.getRuntime();
ProcessBuilder pb = new ProcessBuilder(args);
Process p = pb.start();
p.waitFor();
int exitCode = p.exitValue();
System.out.println("exitCode = " + exitCode);
InputStream resultStream = p.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
int size, SIZE = 4096;
byte[] buffer = new byte[SIZE];
while( (size = resultStream.read(buffer)) != -1 ) {
outputStream.write(buffer, 0, size);
}
byte[] bytes = outputStream.toByteArray();
outputStream.close();
String str = new String(bytes);
System.out.println(str);
}
/*
#include <stdio.h>
int main(int argc, char *argv[])
{
int i = 0;
printf("argc = %d\陵纖伍n", argc);
for(i = 0; i < argc; i ++)
printf("argv[%d] = %s\n", i, argv[i]);
return 0;
}
*/
}
⑷ exec()怎樣調用java.exe並執行.class文件
Processp=Runtime.getRuntime().exec("cmd");//建議使用cmd
OutputStreamout=p.getOutputStream();
out.write("c: ".getBytes());//切換到C盤
out.write("cdUsers\Administrator\Desktop ".getBytes());//切換目錄到桌面
out.write("javacTest.java ".getBytes());//執譽物行你原枝兄來的那個命令
out.write("javaTest ".getBytes());//執行javaTest,因為用的同一個cmd進程
//所以cmd里邊的目錄猛虛襲沒變,執行java和javac時就不用重復設定路徑。
//這里還可以用startjavaTest這樣就能將Test從另一個java虛擬機中啟動,不過也就得不到InputStram了
out.flush();
當然也可以直接就這么執行:
Runtime.getRuntime().exec("javaTest-classpathC:\Users\Administrator\Desktop");//直接用這個命令執行java需要把classpath以參數的形式傳進去,否則會提示找不到主類。如果出錯可能是因為classpath需要將jdk的運行時環境也包含進去,用cmd來調用java的話就可以避免自己來設置這些了。
⑸ JAVA調用exe的問題
真是時間多啊。。。。
用java調exe。。。
⑹ 如何使用java調用本地EXE程序
最近用到在java中調用本地的一個程序,是windows中的exe格式的程序,利用神奇的互聯網找到了解決的方法,發現異常簡單的幾句代碼就可以實現 見代碼:[*]package com.java.test;[*][*]public class OpenEXE {[*][*]/**[*]* @param args[*]*/[*]public static void main(String[] args) {[*][*]Runtime rt = Runtime.getRuntime();[*]Process p = null;[*]try{[*]p =rt.exec([*]new String[]{""D:/Notepad2/Notepad2.exe "","d:/EntPartner_2.xml"});[*]System.out.println("成功打開軟體和文件!
⑺ java 調用exe 需要給exe傳參數
public class Test {
public static void main(String[] args) throws IOException {
try {
// String[] cmds = {"cmd.exe","/c"," dir","c:",">","d://aa.txt"};
// Process pro = Runtime.getRuntime().exec(cmds);
Process pro = Runtime.getRuntime().exec("cmd.exe /c dir c: > d://aa.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(pro.getInputStream(),"GBK"));
String msg = null;
while ((msg = br.readLine()) != null) {
System.out.println(msg);
}
} catch (IOException exception) {
}
}
}
執行完成之後 會在d://下面生成一個aa.txt文件 裡面保存了 dir的結果 其中 > 是 重定向 意思是講執行結果從定向到 d://aa.txt
希望對你有幫助
⑻ 用java調用批處理執行exe程序問題
import java.io.*;
class Main {
static public void openApplication(String filePath){
try {
java.lang.Runtime.getRuntime().exec(filePath);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
openApplication("D:\\D\\軟備渣件\猜滑\tm.exe"穗滾臘);
}
}
⑼ java如何調用exe文件
public class transferExe {x0dx0a public static void main(String[] args) {x0dx0a openWinExe();x0dx0a openExe();x0dx0a }x0dx0a //爛前蔽用 Java 調用windows系統的exe文飢州件,比如notepad,calc之類x0dx0a public static void openWinExe() {x0dx0a Runtime rn = Runtime.getRuntime();x0dx0a Process p = null;x0dx0a try {x0dx0a String command = "notepad";x0dx0a p = rn.exec(command);x0dx0a } catch (Exception e) {x0dx0a System.out.println("Error win exec!");x0dx0a }x0dx0a }x0dx0a //調用悔寬其他的可執行文件,例如:自己製作的exe,或是 下載 安裝的軟體.x0dx0a public static void openExe() {x0dx0a Runtime rn = Runtime.getRuntime();x0dx0a Process p = null;x0dx0a try {x0dx0a p = rn.exec("\"D:/QQ2010.exe\"");x0dx0a } catch (Exception e) {x0dx0a System.out.println("Error exec!");x0dx0a }x0dx0a }x0dx0a }