Runtime.getRuntime().exec()和双击执行批处理文件有什么区别?当我像这样使用Runtime.getRuntime().exec()(案例1)执行批处理文件时,String[]command={"cmd.exe","/C","Start","D:\\test.bat"};Processp=Runtime.getRuntime().exec(command);或Processp=Runtime.getRuntime().exec("cmd/cstart"+"D:\\test.bat")打开一个新的cmd控制台窗口,并启动test.bat。如果我尝试通过在桌面上双击鼠
我有windowsxp和开发一些javaswing应用程序。在我的程序中,我正在使用Runtime.getRuntime().exec("rundll32SHELL32.DLL,ShellExec_RunDLL"+myfile);在Windows默认编辑器中打开我的程序生成的文件。它在我的系统上运行良好。我只想知道它在Windows7上是否可以正常工作。Windows7中的此进程执行是否存在任何安全方面的问题,而这些问题不会出现在WindowsXP中? 最佳答案 不是直接的答案,但你应该使用Desktop#open()这是独立于平台
我有一个命令需要在java中按照这些行运行:C:\path\thathas\spaces\plink-arg1foo-arg2bar"path/on/remote/machine/iperf-arg3hello-arg4world"当路径没有空格时,这个命令工作正常,但是当我有空格时,我似乎无法让它工作。我尝试了以下操作,运行Java1.7String[]a="C:\path\thathas\spaces\plink","-arg1foo","-arg2bar","path/on/remote/machine/iperf-arg3hello-arg4world"Runtime.getR
任何人都可以就如何最好地使用EasyMock来期待对Runtime.getRuntime().exec(xxx)的调用提出任何建议吗?我可以将调用转移到另一个实现接口(interface)的类中的方法中,但在理想情况下我宁愿这样做。interfaceRuntimeWrapper{ProcessWrapperexecute(Stringcommand)throwsIOException;}interfaceProcessWrapper{intwaitFor()throwsInterruptedException;}我想知道是否有人有任何其他建议? 最佳答案
如何让Runtime.getRuntime().exec(p)运行而不等待sleep10?目前它是错误的,它等待直到exec完成然后移动到下一个。在我需要运行的地方让exec运行,以便在10秒后它可以杀死PresentationInProjector.jpg。Example:Runtime.getRuntime().exec("(sleep10;echo'09|00|CC|01|83|88'|nclocalhost58888)&");PlayThisSlideShow("PresentationInProjector.jpg"); 最佳答案
我正在尝试使用Java从外部启动一个进程,但无法从其InputStream中读取任何内容。如果我使用“ls”、“ps”或“kill”等命令启动进程,一切正常。我可以启动进程并获取有关进程的InputStream或ErrorStream的信息。如果我尝试使用“ftp”或“telnet”之类的命令,则InputStream和ErrorStream在尝试读取时都会阻止我的程序。任何时候都不会通过这些流传递任何信息。谁能解释这种行为?这些命令是不可能的,还是我的实现有问题?StringprocessName=_configuration.getProgramCommand().getComma
我何时需要调用此方法Runtime.getRuntime().addShutdownHook()以及何时或为何需要关闭我的应用程序。谁能给我举个例子来解释一下。谢谢 最佳答案 据我所知,我将在下面解释这一点。你也可以google一下,也能找到很多信息。addShutdownHook()将注册一些要在程序终止时执行的操作。您启动的程序以两种方式结束:主线程(Root)结束其运行上下文;程序遇到了一些意外情况,因此无法继续进行。如果您添加一个ShutdownHook,该Hook将启动一个线程,该线程将仅在终止时开始运行。例如:Runti
我有一组在tomcat下运行的web应用程序。使用-Xmx参数将Tomcat配置为拥有多达2GB的内存。许多web应用程序需要执行最终使用以下代码的任务:Runtimeruntime=Runtime.getRuntime();Processprocess=runtime.exec(command);process.waitFor();...我们遇到的问题与在Linux(Redhat4.4和Centos5.4)上创建这个“子进程”的方式有关。据我了解,最初需要在物理(非交换)系统内存池中释放与tomcat使用的内存量相等的内存量,才能创建此子进程。当我们没有足够的可用物理内存时,我们会得
我正在使用运行时从我的Java程序运行命令提示符命令。但是,我不知道如何获得命令返回的输出。这是我的代码:Runtimert=Runtime.getRuntime();String[]commands={"system.exe","-send",argument};Processproc=rt.exec(commands);我尝试做System.out.println(proc);但没有返回任何东西。该命令的执行应返回由分号分隔的两个数字。我怎样才能在变量中打印出来?这是我现在使用的代码:String[]commands={"system.exe","-gett"};Processpr
我一直想知道Runtime.getRuntime().totalMemory()的确切含义是什么,Runtime.getRuntime().freeMemory(),和Runtime.getRuntime().maxMemory()是。我的理解是,Runtime.getRuntime().totalMemory()返回我的进程正在使用的总内存。那是对的吗?freeMemory()和maxMemory()怎么样? 最佳答案 名称和值令人困惑。如果您正在寻找可用内存总量,您必须自己计算该值。这不是你从freeMemory();得到的。请