⑴ 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.
結果輸出。