⑴ 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 }