javalinux代码 linux java编程( 二 )


1.Windows上使用eclipse编译java工程,编译完成后导出为Runnable JAR File 。
例如,此处将test工程中的Test2文件export为MyTest2.jar文件 。
2.Ubuntu上java环境安装 。
①jdk下载Linux上使用的jdk 。
②eclipse下载Linux上使用的eclipse 。
③将jdk和eclipse上传到Linux服务器并解压,然后配置java环境变量(eg.jdk的解压目录是/home/test) 。
配置方法:编辑/etc/profile文件,添加如下内容(备注:Linux中冒号:用于分隔路径,点号.表示当前目录) 。
编辑完成后保存文件
④使配置生效,命令 source /etc/profile
⑤测试环境变量是否配置成功 , 命令java -version , 显示jdk版本 , 则表示java环境变量配置成功 。
linux系统中如何编写java代码首先,你需要一个文本编辑器,在 Linux 上的话 vim emacs, gedit 等都可以 。
然后 , 需要一个 JDK,Linux 上有 openjdk 和 Oracle 的 jdk 两种可选 。openjdk 一般用各
Linux 发行版相应的软件包管理软件就可安装 。Oracle 的可以到上下载 .rpm 格式的软件包安装或下载源码编译安装 。
最后,用文本编辑器编写代码 。用 javac 文件名 编译代码 , java 类名 运行 。
java程序里调用linux命令1.Java调用shell
Java语言以其跨平台性和简易性而著称 , 在Java里面的lang包里(java.lang.Runtime)提供了一个允许Java程序与该程序所运
行的环境交互的接口 , 这就是Runtime类 , 在Runtime类里提供了获取当前运行环境的接口 。
其中的exec函数返回一个执行shell命令的子进程 。exec函数的具体实现形式有以下几种:
public Process exec(String command) throws IOException
public Process exec(String command,String[] envp) throws
IOException
public Process exec(String command,String[] envp,File dir) throws
IOException
public Process exec(String[] cmdarray) throws IOException
public Process exec(String[] cmdarray, String[] envp) throws
IOException
public Process exec(String[] cmdarray, String[] envp,File dir)
throws IOException
我们在这里主要用到的是第一个和第四个函数,具体方法很简单 , 就是在exec函数中传递一个代表命令的字符串 。exec函数返回的是一个Process类
型的类的实例 。Process类主要用来控制进程,获取进程信息等作用 。(具体信息及其用法请参看Java doc) 。
1)执行简单的命令的方法:
代码如下:
上面的代码首先是声明了一个代表命令的字符串commands,它代表了ls -l
这个命令 。之后我们用Runtime.getRuntime().exec(commands)来生成一个子进程来执行这个命令,如果这句话运行成功,则
命令 ls -l 运行成功(由于没有让它显示,不会显示ls -l
的结果) 。后面的流操作则是获取进程的流信息,并把它们一行行输出到屏幕 。2)执行带有参数的命令(尤其是参数需要用引号的)时则需要用String的数组来表示整个命令 , 而且要用转义符把引号的特殊含义去除,例如我们要执行
find / -name "*mysql*" -print 时 , 用如下代码
Java 可以通过 Runtime 调用Linux命令 , 形式如下:
Runtime.getRuntime().exec(command)
但是这样执行时没有任何输出,因为调用 Runtime.exec 方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息 。
由于调用 Runtime.exec 方法所创建的子进程没有自己的终端或控制台 , 因此该子进程的标准IO(如stdin,stdou,stderr)都通过 Process.getOutputStream() , Process.getInputStream(), Process.getErrorStream() 方法重定向给它的父进程了 。

推荐阅读