可以使用java.lang.Process和java.lang.Runtime实现,下面展示两个例子,其它用法请查阅资料:
1、执行ping命令:
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassProcessTest{
publicstaticvoidmain(String[]args){
BufferedReaderbr=null;
try{
Stringcmd="ping127.0.0.1";
//执行dos命令并获取输出结果
Processproc=Runtime.getRuntime().exec(cmd);
br=newBufferedReader(newInputStreamReader(proc.getInputStream(),"GBK"));
Stringline;
while((line=br.readLine())!=null){
System.out.println(line);
}
proc.waitFor();
}catch(IOExceptione){
e.printStackTrace();
}catch(InterruptedExceptione){
e.printStackTrace();
}finally{
if(br!=null){
try{
br.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
}
2、打开浏览器并跳转到网络首页:
importjava.io.IOException;
publicclassProcessTest{
publicstaticvoidmain(String[]args){
try{
StringexeFullPathName="C:/ProgramFiles/InternetExplorer/IEXPLORE.EXE";
Stringmessage="www..com";
String[]cmd={exeFullPathName,message};
Processproc=Runtime.getRuntime().exec(cmd);
}catch(IOExceptione){
e.printStackTrace();
}
}
}
2. java如何从命令行输入和输出数据
import java.util.*;
import java.io.*;
import javax.swing.JOptionPane;
public class SysIn
{
public static void main(String [] args)
{
【java.util包中的Scanner类】
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一串字符:");
String firStr = sc.next();
System.out.println("你输入的是" +firStr);
注意事项:next()读取一个字符串,该字符串在一个空白符之前结束
(2)java命令行扩展阅读
其他java从命令行输入和输出数据
1、【java.io包中的BufferedReader类】
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入第二串字符:");
String secStr=null;
try
{
secStr=bf.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("你输入的是" + secStr);
注意事项:nextByte()读取一个byte类型整数--其他类型整数类推
2、【调用 javax.swing.JOptionPane 类】
String jop = JOptionPane.showInputDialog
(null,"Please Input:","InputDialog",JOptionPane,QUESTION_MESSAGE);
System.out.println("你输入的第三串字符:“ + jop);
}
}
注意事项:nextLine()读取一行文本
3. java如何进入命令行模式
在windows的开始里面找到运行,输入cmd然后进入黑窗口,输入java回车就可以了,如果有反应就可以了,如果没反应说没有这个命令说明你的java环境没有配好
4. java在命令行中实现输入
import java.io.*;
public class test{
public static void main(String args[]){
byte buffer=new byte[512];
System.in.read(buffer);
String str=new String(buffer);
System.out.println("请你输入:");
System.out.println("what you are input is"+str);
}
}
5. java命令行
环境变量设置有问题。还有就是类名一定要和文件名一样。注意大小写。
关于环境变量设置见下。
在完成了JDK的安装后,环境变量设置是其安装后的首要操作,有人会问为什么要设置这个,要理解这个
你首先要明白环境变量的涵义,它可以简单的理解为路径导向,例如WINDOWS里面的临时文件夹存放
路径导向,当有此类文件时可根据此环境变量找到它的存放目录,大家用TTPlayer播放器的时候就可以
看到它也设置了个环境变量,其实就为了把我们添加进播放列表的歌曲用TT播放,当播放列表时歌曲通
过变量得以在TT上播放,就象我们下面讲的CLASSPATH变量是为了在我们输入JAVA命令如JAVAC等
的时候不如敲入它的路径,系统自动根据环境变量设置找到其实际地址,好了,着就是环境变量的一点简
单理解.
好了说说JKD的环境变量设置
path=%JAVA_HOME%\bin
JAVA_HOME=C:\Java\jdk1.6.0_01
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 注意:等号后面是句点+分号
好我们一个一个说,对于初次设置如果设置没有成功的话大家可能会把一些无关紧要的东西认为是出现
错误的原因,其实在整个设置过程知道以下几点就可以了
1,PATH,CLASSPATH等 大小写都无所谓 (有些人可能会在这个上面纠缠很久)
2,只需要设置着3个变量,别听别人说还有其他变量
3,环境变量有系统变量和用户变量,设置成哪个都行,如果是系统变量的话对于所有登陆使用此电脑的
用户都有效,用户变量只对相应用户起作用
4,变量值最后的;(分号)可带可不带,我这里说的最后一个分号,处于中间位置的不可省略!
5,注意区别/,\在WINDOWS里的路径名一般用\(反斜杠),但有时我们发现其实/也可以,最好使用\,
\在C/C++里是转义字符的意思,而/是HTTTP,FTP协议的路径符号
6,我的例子之所以把JAVA_HOME设置为C:\Java\jdk1.6.0_01,是因为我的JDK安装路径决定的,大家
可以根据自己的安装路径调整此变量.
好了,在细心留意了着6点后,我们的JDK设置就没有问题,但是光说还不行还得实际测试一下,这里我想说
一下几中有人说在DOS下输入JAVA -VERSION(JAVA后有空格)后出现版本信息就说明设置成功了,着
实际上是不能说明任何问题,正确的应该是我们编写了一个JAVA小程序后,通过JAVAC编译成功生成
CLASS文件才表示我们的设置是正确的.
我们在初次编写JAVA程序的时候是用记事本写的,因为它无检错,DEBUG现在已经很少有人用了,推荐
使用JBUILDER,ECLIPSE,JCREATOR编辑工具!
转自http://hi..com/hyperstar/blog/item/564bf145b6599224cefca3e7.html
下面是一个测试程序,是我写的
import java.io.*;
public class asdf
{
public static void main(String args[])
{
System.out.println("hello,java world");
}
}
第一步把上面的程序拷到一个记事本里面,二把记事本名字改成asdf.java让他和类名一样.三在运行里
先输入javac asdf.java然后输入java asdf 就可以了(第二个后面没有java哦)
6. java main方法中的命令行参数
作用:
当你使用命令行的形式运行.class文件时,向你的类传递参数.
C:\>java YourClassName 参数1 [参数2 参数3 ....]
参数之间用一个空格作为间隔符.
String[] args 这个字符串数组是保存运行main函数时输入的参数的,例如main函数所在的类名为test 那么你在cmd运行 java test a b c 时,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中调用你输入的这些变量了。
args[]不就是那个字符串This is a simple Java program吗?
-------完全不是的,你理解不对。这样好了,你在运行的时候加个参数,比如 java test XX。然后在你的main函数里面加这段话:System.out.println("arg is"+args[0]),然后看看输出是什么?
是不是这个:
This is a simple Java program
arg is XX
在运行时输入java test xx yy zz,并且在你的main函数里面加这段话:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然后看看输出是什么?
是不是:
This is a simple Java program
arg is xx yy zz
现在你理解了吗。。。
如果没关系,为什么程序中去掉String args[]会出现错误?
--------之所以去掉会出错在于,不带String args[]的main函数和带String args[]的main函数,本质上已经不是同一个函数了,java 本身不存在不带String args[]的main函数,所以当然出错了。
7. java 中 如何通过命令行来传递参数
可以在命令行运行java程序时加上程序的参数。
例子如下:
public class HelloWorld{
public static void main(String args[]){
System.out.println("temp=" + args[0]);
}
}
源代码截图:
解释一下: String[ ] args
该参数,是一个字符串数组,用来接收从命令行输入的参数
1. 参数之间用空格隔开
2. java解释器会自动处理,把用空格隔开的每一个参数通过args数组传递给买呢()方法。
3. 参数的下标从0开始,args[0]表示第一个参数,例如java HelloWorld 10 20 30
4.可以有多个空格,多个空格会被忽略。
(7)java命令行扩展阅读:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
8. 如何用java执行命令行
Java运行命令行并获取返回值,下面以简单的Java执行ping命令(ping 127.0.0.1 -t
)为例,代码如下:
Processp=Runtime.getRuntime().exec("ping127.0.0.1-t");
Processp=Runtime.getRuntime().exec("javac");
InputStreamis=p.getInputStream();
BufferedReaderreader=newBufferedReader(newInputStreamReader(is));
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
p.waitFor();
is.close();
reader.close();
p.destroy();
}
9. 怎么用命令行编译运行Javacmd中javac和java命令的运用
首先要配置环境变量
然后在cmd命令行里输入一个javac回车 会弹出很多东西,说明环境变量配置好了
编写一个.java文件
在cmd中进入到你文件的存放目录下
编译命令 javac 空格 文件名.java
编译成功后,你的当前目录下会出现一个.class文件
然后java 空格 文件名 回车运行 注意这里不需要文件后缀名