Java怎么调用系统命令

Java怎么调用系统命令,第1张

Java调用Linux命令Java可以直接调用Linux命令,形式如下:Runtime.getRuntime().exec(command)举例:运行ls,top命令可以这样:Runtime.getRuntime().exec("ls")但是这样执行时没有任何输出,原因:调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例),该实例可用于控制进程或取得进程的相关信息.由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),Process.getInputStream(),Process.getErrorStream()方法重定向给它的父进程了.用户需要用这些stream来向子进程输入数据或获取子进程的输出.可以采用如下方法:try{Processprocess=Runtime.getRuntime().exec("ls")InputStreamReaderir=newInputStreamReader(process.getInputStream())LineNumberReaderinput=newLineNumberReader(ir)Stringlinewhile((line=input.readLine())!=null){System.out.println(line)}catch(java.io.IOExceptione){System.err.println("IOException"+e.getMessage())}

public class transferExe {\x0d\x0a public static void main(String[] args) {\x0d\x0a openWinExe()\x0d\x0a openExe()\x0d\x0a }\x0d\x0a //用 Java 调用windows系统的exe文件,比如notepad,calc之类\x0d\x0a public static void openWinExe() {\x0d\x0a Runtime rn = Runtime.getRuntime()\x0d\x0a Process p = null\x0d\x0a try {\x0d\x0a String command = "notepad"\x0d\x0a p = rn.exec(command)\x0d\x0a } catch (Exception e) {\x0d\x0a System.out.println("Error win exec!")\x0d\x0a }\x0d\x0a }\x0d\x0a //调用其他的可执行文件,例如:自己制作的exe,或是 下载 安装的软件.\x0d\x0a public static void openExe() {\x0d\x0a Runtime rn = Runtime.getRuntime()\x0d\x0a Process p = null\x0d\x0a try {\x0d\x0a p = rn.exec("\"D:/QQ2010.exe\"")\x0d\x0a } catch (Exception e) {\x0d\x0a System.out.println("Error exec!")\x0d\x0a }\x0d\x0a }\x0d\x0a }

首先需要明白Spool是Oracle的命令而不是sql语句。

Spool命令是将在这期间oracle所有的 *** 作结果写入到指定的文件中。其实可以理解为spool命令将创建一个新文件,在接下来对oracle所有的 *** 作及 *** 作接口都将输入到该文件中。

1、使用Spool命令前期准备

当前需要对Spool进行一些设置。常用的设置有如下几种其解释如图:

2、创建接收文件

前期工作准备完成,接下来就是创建接收信息的文件,如我们创建一个文件名为moreinfo.log的接收文件。

3、执行 *** 作

接下来,我们就可以进行相关 *** 作了,比如查询一个表的数据等

4、关闭Spool

在对数据库 *** 作完成后,接下来就是关闭Spool命令并将信息更新到创建的文件中。这样我们就讲 *** 作数据库相应的结果写入到moreinfo.log中了。

5、查看文件是否已经生成。

我们需要先退出sqlplus,在进行ls,查看文件是否已经生成。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11032050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存