⑴ java怎么运行dos命令, 主要是运行dos中的"cd"命令
写一个public类,类名就叫cd,运行的时候默认在某一个文件夹位置
在main方法中读取args参数,根据参数判断怎么做就可以了
比如 cd abc,就在当前目录下找有没有abc文件夹
cd..就判断是不是根目录,不是的话退一级
等等 以此类推
⑵ 如何用dos命令配置java环境
@echo off&setlocal enabledelayedexpansion
set java_path=E:\JavaStudy\jdk1.6.0_34_x64
set java_home=%%JAVA_HOME%%
set reg_env=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
set class_env=.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar
echo 增加或修改JAVA_HOME全局变量,JAVA_HOME=%java_path%
reg add "%reg_env%" /f /t REG_EXPAND_SZ /v JAVA_HOME /d %java_path%
echo 增加或修改CLASS_PATH全局变量
reg add "%reg_env%" /f /t REG_EXPAND_SZ /v CLASS_PATH /d %class_env%
echo 在PATH中查询是否已存在JAVA配置
set java_home_path=%java_home%\bin
reg query "%reg_env%" /v PATH | find /I "%java_home_path%"
if %ERRORLEVEL%==0 (
echo PATH中已存在JAVA配置
) else (
echo 在PATH中增加%java_home_path%
for /f "tokens=2,*" %%i in ('reg query "%reg_env%" /v PATH ^| find /I " PATH " ')do reg add "%reg_env%" /f /t REG_EXPAND_SZ /v PATH /d "%java_home_path%;%%j"
)
echo 设置java环境变量成功
@echo on
⑶ 记事本上的JAVA代码如何在DOS里面运行
1:首先要保证你的电脑上安装了JDK
2:然后打开cmd窗口,输入你的Java源码(就是记事本里的代码)所在的路径
例如有一个Hello.java文件在D盘
则首先进入到此目录d:
3:再编译Java文件
javac
Hello.java
4:然后运行嘛:
java
Hello
5:OK,就这样!
⑷ java代码怎么实现执行dos运行命令
使用Runtime类,他是一个与JVM运行时环境有关的类,这个类是Singleton的。Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。Runtime.exec()方法就是执行cmd命令的方法。
举例
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.util.ArrayList;
importjava.util.HashMap;
publicclassTest{
publicstaticvoidmain(String[]args){
excuteCommand("ipconfig");
excuteCommand("ping10.141.26.50");
}
publicstaticvoidexcuteCommand(Stringcommand)
{
Runtimer=Runtime.getRuntime();
Processp;
try{
p=r.exec(command);
BufferedReaderbr=newBufferedReader(newInputStreamReader(p
.getInputStream()));
Stringinline;
while((inline=br.readLine())!=null){
System.out.println(inline);
}
br.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
⑸ java 怎么调用windows外部命令
可以使用Java Process类,下面是一些例子:
Process类是一个抽象类,方法都是抽象的,它封装了一个进程,也就是一个可执行的程序该类提供进程的输入、执行输出到进程、等待进程的完成和检查进程的退出状态及销毁进程的方法
ProcessBuilder.start()和Runtime.exec方法创建一个本机进程并返回Process子类的一个实例,该实例可以控制进程并获取相关的信息
其它的概要请参考JDK文档
下面就开始举几个简单的示例:
(1)执行简单的DOS命令,如打开一个记事本
Java代码
packagecom.iwtxokhtd.other;
importjava.io.IOException;
publicclassProcessTest{
publicstaticvoidmain(String[]args){
try{
Processproc=Runtime.getRuntime().exec("notepad");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
[java]viewplain
packagecom.iwtxokhtd.other;
importjava.io.IOException;
publicclassProcessTest{
publicstaticvoidmain(String[]args){
try{
Processproc=Runtime.getRuntime().exec("notepad");
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
(2)使用它的其它构造方法执行相关的命令,如下例:
Java代码
packagecom.iwtxokhtd.other;
importjava.io.IOException;
publicclassProcessTest{
publicstaticvoidmain(String[]args){
try{
StringexeFullPathName="C:/ProgramFiles/InternetExplorer/IEXPLORE.EXE";
Stringmessage="www.google.com";
String[]cmd={exeFullPathName,message};
Processproc=Runtime.getRuntime().exec(cmd);
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
[java]viewplain
packagecom.iwtxokhtd.other;
importjava.io.IOException;
publicclassProcessTest{
publicstaticvoidmain(String[]args){
try{
StringexeFullPathName="C:/ProgramFiles/InternetExplorer/IEXPLORE.EXE";
Stringmessage="www.google.com";
String[]cmd={exeFullPathName,message};
Processproc=Runtime.getRuntime().exec(cmd);
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
执行上述命令可以打开Google网站
(3)列出系统正在运行的所有进程信息
Java代码
packagecom.iwtxokhtd.other;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassListAllProcessTest{
//列出所有的进程信息
publicstaticvoidmain(String[]args){
BufferedReaderbr=null;
try{
Processproc=Runtime.getRuntime().exec("tasklist");
br=newBufferedReader(newInputStreamReader(proc.getInputStream()));
@SuppressWarnings("unused")
Stringline=null;
System.out.println("打印所有正在运行的进程信息");
while((line=br.readLine())!=null){
System.out.println(br.readLine());
}
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(br!=null){
try{
br.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
}
[java]viewplain
packagecom.iwtxokhtd.other;
importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
publicclassListAllProcessTest{
//列出所有的进程信息
publicstaticvoidmain(String[]args){
BufferedReaderbr=null;
try{
Processproc=Runtime.getRuntime().exec("tasklist");
br=newBufferedReader(newInputStreamReader(proc.getInputStream()));
@SuppressWarnings("unused")
Stringline=null;
System.out.println("打印所有正在运行的进程信息");
while((line=br.readLine())!=null){
System.out.println(br.readLine());
}
}catch(IOExceptione){
e.printStackTrace();
}finally{
if(br!=null){
try{
br.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
}
}
(4)判断一个具体的进程是否正在运行,如下例:
Java代码
packagecom.iwtxokhtd.other;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
publicclassFindProcessExeTest
{
publicstaticvoidmain(String[]args){
if(findProcess("QQ.exe")){
System.out.println("------判断指定的进程是否在运行------");
System.out.println("QQ.exe该进程正在运行!");
}else{
System.out.println("------判断指定的进程是否在运行------");
System.out.println("QQ.exe该进程没有在运行!");
}
}
(StringprocessName){
BufferedReaderbr=null;
try{
//下面这句是列出含有processName的进程图像名
Processproc=Runtime.getRuntime().exec("tasklist/FI/"IMAGENAMEeq"+processName+"/"");
br=newBufferedReader(newInputStreamReader(proc.getInputStream()));
Stringline=null;
while((line=br.readLine())!=null){
//判断指定的进程是否在运行
if(line.contains(processName)){
returntrue;
}
}
returnfalse;
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}finally{
if(br!=null){
try{
br.close();
}catch(Exceptionex){
}
}
}
}
}
[java]viewplain
packagecom.iwtxokhtd.other;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
publicclassFindProcessExeTest
{
publicstaticvoidmain(String[]args){
if(findProcess("QQ.exe")){
System.out.println("------判断指定的进程是否在运行------");
System.out.println("QQ.exe该进程正在运行!");
}else{
System.out.println("------判断指定的进程是否在运行------");
System.out.println("QQ.exe该进程没有在运行!");
}
}
(StringprocessName){
BufferedReaderbr=null;
try{
//下面这句是列出含有processName的进程图像名
Processproc=Runtime.getRuntime().exec("tasklist/FI/"IMAGENAMEeq"+processName+"/"");
br=newBufferedReader(newInputStreamReader(proc.getInputStream()));
Stringline=null;
while((line=br.readLine())!=null){
//判断指定的进程是否在运行
if(line.contains(processName)){
returntrue;
}
}
returnfalse;
}catch(Exceptione){
e.printStackTrace();
returnfalse;
}finally{
if(br!=null){
try{
br.close();
}catch(Exceptionex){
}
}
}
}
}
其它的用法可以参考JDK文档,这里就不一一举例,毕竟它用得不多。
⑹ java如何获取DOS窗口命令输出
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
/**
* JAVA获取dos窗口命令输出
*
* @author chenyun
* @version $Id: CmdUtil.java, v 0.1 2015年8月19日 下午3:10:19 chenyun Exp $
*/
public class CmdUtil {
/**
* 获取某个Cmd命令的输出,以字符串返回。
*
* @param cmdString CMD命令
* @return
* @throws IOException
*/
public static String getCmdOutput(String cmdString) throws IOException{
// 1、开启子线程运行Cmd命令
Process proc = null;
String[] cmd = { "cmd", "/c", cmdString };
proc = Runtime.getRuntime().exec(cmd);
// 2、获取子线程InputStream
InputStream inputStream = proc.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "GBK");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
// 3、从流中读取数据
String line;
StringBuffer output = new StringBuffer();
while ((line = bufferedReader.readLine()) != null) {
output.append(line + "\r\n");
}
// 4、返回结果
return output.toString();
}
/**
* 测试桩
*
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
System.out.println(CmdUtil.getCmdOutput("ipconfig"));
}
}
⑺ JAVA中如何执行DOS命令
通过Process可以控制该子进程的执行或获取该子进程的信息。第二条语句的目的等待 子进程完成再往下执行。 但在windows平台上,如果处理不当,有时并不能得到预期的结果。下面是笔者在实际编程中总结的几种需要注意的情况: 1、执行DOS的内部命令 如果要执行一条DOS内部命令,有两种方法。一种方法是把命令解释器包含在exec()的参数中。例如,执行dir命令,在NT上,可写成 exec("cmd.exe /c dir"),在windows 95/98下,可写成“command.exe /c dir”,其中参数“/c”表示命令执行后关闭Dos立即关闭窗口。另一种方法是,把内部命令放在一个批命令my_dir.bat文件中,在Java程序 中写成exec("my_dir.bat")。如果仅仅写成exec("dir"),Java虚拟机则会报运行时错误。前一种方法要保证程序的可移植性, 需要在程序中读取运行的操作系统平台,以调用不同的命令解释器。后一种方法则不需要做更多的处理。 2、打开一个不可执行的文件 打开一个不可执行的文件,但该文件存在关联的应用程序,则可以有两种方式。 以打开一个word文档a.doc文件为例,Java中可以有以下两种写法: exec("start .a.doc"); exec(" c:Program FilesMicrosoft Officeofficewinword.exe .a.doc"); 显然,前一种方法更为简捷方便。 3、执行一个有标准输出的DOS可执行程序 在windows平台上,运行被调用程序的DOS窗口在程序执行完毕后往往并不会自动关闭,从而导致Java应用程序阻塞在waitfor( )。导致该现象的一个可能的原因是,该可执行程序的标准输出比较多,而运行窗口的标准输出缓冲区不够大。解决的办法是,利用Java提供的Process 类提供的方法让Java虚拟机截获被调用程序的DOS运行窗口的标准输出,在waitfor()命令之前读出窗口的标准输出缓冲区中的内容。一段典型的程 序如下: ... String ls_1; Process process = Runtime.getRuntime().exec("cmd /c dir windows"); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream()); while ( (ls_1=bufferedReader.readLine()) != null) System.out.println(ls_1); process.waitfor( ); ... 以上内容为转载~下面内容为原创! 今天在做客户端程序的自动更新,简单描述一下,就是从服务器上将更新包下载下来,然后在本地解压缩,最后删掉~功能很简单。 但是问题出在使用JAVA的ZIP模
⑻ 如何用DOS命令窗口运行java程序代码
1.
首先是确认自己的电脑安装完整JDK,并且配置好环境变量
2.
编写以.java为后缀的文件,例如:MyJava.java
3.
打开cmd,在命令行中输入javac
MyJava.java,编译成功后
4.
再输入java MyJava运行
5.
结果输出。