Tag: runtime.exec

如何在java中打开记事本文件?

我想在我的Java程序中打开记事本。 假设我有一个按钮,如果单击此按钮,将出现记事本。 我已经有了文件名和目录。 我该如何实施这个案例?

在Runtime.getRuntime()。exec中有2个可执行文件的空格

我有一个命令,我需要在这些行中使用java运行: C:\path\that has\spaces\plink -arg1 foo -arg2 bar “path/on/remote/machine/iperf -arg3 hello -arg4 world” 当路径没有空格时,此命令工作正常,但是当我有空格时,我似乎无法使其工作。 我尝试过以下操作,运行Java 1.7 String[] a = “C:\path\that has\spaces\plink”, “-arg1 foo”, “-arg2 bar”, “path/on/remote/machine/iperf -arg3 hello -arg4 world” Runtime.getRuntime().exec(a); 以及 String[] a = “C:\path\that has\spaces\plink”, “-arg1 foo”, “-arg2 bar”, “path/on/remote/machine/iperf”, “-arg3 hello”, “-arg4 world” Runtime.getRuntime().exec(a); 但似乎都没有做任何事情。 我有什么问题吗?

使用Java运行.exe文件

如何使用java代码运行exe文件?.exe文件已经存在。 计划是编写一个用于运行Java代码的Java代码。 任何教程或参考相同?

ProcessBuilder在Mac上提供“没有这样的文件或目录”,而Runtime()。exec()工作正常

我有一个在Playframework上运行的应用程序,它需要对一些video文件进行编码。 我用了 Process pr = Runtime.getRuntime().exec(execCode) 为此(它完美地工作),但由于我需要输出流和错误流,我试图使用ProcessBuilder(也建议使用)。 但我无法让它工作(在MacBook上测试)。 Runtime方法和ProcessBuilder之间有根本区别吗? 这是我的ProcessBuilder代码(完全相同的代码在被Runtime.getRuntime().exec()替换时有效Runtime.getRuntime().exec() ) String execCode = “/opt/local/bin/ffmpeg -i file […]”; ProcessBuilder pb = new ProcessBuilder(execCode); pb.redirectErrorStream(true); pb.directory(new File(“/Users/[…]/data/”)); Process pr = pb.start(); 这是控制台输出: 11:00:18,277 ERROR ~ There was a problem with with processing MediaFile[13] with error Error during coding process: Cannot run program “/opt/local/bin/ffmpeg -i /Users/[…]/data/media/1/1/test.mov […] […]

Java – 运行Bash命令

我有以下课程。 它允许我通过java执行命令。 public class ExecuteShellCommand { public String executeCommand(String command) { StringBuffer output = new StringBuffer(); Process p; try { p = Runtime.getRuntime().exec(command); p.waitFor(); BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); String line = “”; while ((line = reader.readLine())!= null) { output.append(line + “\n”); } } catch (Exception e) { e.printStackTrace(); } return output.toString(); } } […]

Java Runtime exec()无法正确转义字符

这可能已经在之前得到了解答,但那是关于unicode的,我不认为这是unicode(它是ASCII,所以……)。 当我在终端中执行此操作时,没有任何问题 vboxmanage setextradata “Test Machine” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort” 2222 但是当我在Java中使用以下内容时 Runtime.getRuntime().exec(“vboxmanage setextradata \”Test Machine\” \”VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort\” 2222″); 它返回一个错误:unregistered vm’“TestMachine”’ 其中包含空格的参数(如Test \ Machine)也是如此,然后它不会逃避空间。 现在我认为这与字符编码有关,但我没有看到任何设置o_O的选项

使用ProcessBuilder启动CMD

我试图通过使用以下代码在Windows中启动CMD应用程序,但它不能按预期工作。 来自不同网站的几个示例显示,“cmd”作为ProcessBuilder构造中的参数应该有效。 我需要做些什么才能让我的Java应用程序在Windows中打开CMD应用程序? public class JavaTest { public static void main(String[] args) { ProcessBuilder pb = new ProcessBuilder(“cmd”); try { pb.start(); System.out.println(“cmd started”); } catch (IOException e) { System.out.println(e.getMessage()); } } } 当我尝试使用不存在的应用程序时,它实际上会输出错误,这意味着它实际上运行“CMD”。 但CMD应用程序没有按预期弹出?

调用Runtime.getRuntime()。EXEC()

我只能在数据库名称包含like(new database(myid)等时才能读取文件。我给出了以下示例代码: dumpCommand = “C:/Program Files/MySQL/MySQL Server 5.0/bin/mysqldump -h”+hostName+user+databaseName; Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(dumpCommand); InputStream in = proc.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(in)); String line =null; while((line=br.readLine())!=null) { //able to read line only when database name like abc,datastore etc… System.out.println(line); } 假设我的数据库名称de mo意味着当我打印行时,我得到了像de only这样的数据库名称。 数据库名称是否有空格?

使用System.setOut()重定向Runtime.getRuntime()。exec();

我有一个程序Test.java: import java.io.*; public class Test { public static void main(String[] args) throws Exception { System.setOut(new PrintStream(new FileOutputStream(“test.txt”))); System.out.println(“HelloWorld1”); Runtime.getRuntime().exec(“echo HelloWorld2”); } } 这应该将HelloWorld1和HelloWorld2打印到文件text.txt。 但是,当我查看文件时,我只看到HelloWorld1。 HelloWorld2去了哪里? 它消失在空气中吗? 假设我想将HelloWorld2重定向到test.txt。 我不能在命令中添加“>> test.txt”,因为我会得到一个文件已经打开错误。 那我该怎么做?

java Runtime.getRunTime()。exec&wildcards?

我正试图通过使用删除垃圾文件 Process p = Runtime.getRuntime().exec(); 只要我不使用通配符,它​​工作正常,即这工作: Process p = Runtime.getRuntime().exec(“/bin/rm -f specificJunkFile.java”); 而以下会抛出“没有这样的文件或目录”: Process p = Runtime.getRuntime().exec(“/bin/rm -f *.java”); 我应该能够做到这里概述的所有好事,对吧?