導航:首頁 > 程序命令 > java執行unix命令

java執行unix命令

發布時間:2023-02-10 01:57:14

❶ 求修正這個小小的java程序, 在Unix 系統上的

這段代碼處理的比較全面一些.希望對你有幫助.

功能,輸入兩個double ,驗證輸入參數,滿足條件則執行,不滿足條件則提示用戶參數輸入錯誤,並等待用戶重新輸入參數
如果參數類型不為double則提示用戶重新輸入.直到兩個參數全部輸入,開始執行,或者輸入-1退出程序!
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.kyj.util;

import java.util.Scanner;

/**
*
* @author wgw
*/
public class BMI {

public static void main(String[] args) {

// args = new String[]{"1.1"};
args = checkNumber(args);
double weight = Double.parseDouble(args[0]);
double height = Double.parseDouble(args[1]);
double bmi = ((weight) / (height * height));
if (bmi < 18.5) {
System.out.println("underweight");
} else if (bmi <= 25.0) {
System.out.println("underweight");
} else if (bmi < 25.0) {
System.out.println("overweight");
} else if (bmi <= 30) {
System.out.println("overweight");
} else if (bmi > 30) {
System.out.println("obese");
}

}

public static String[] checkNumber(String[] args) {
if (args.length == 2) {
return args;
} else {
System.out.println("Wrong input. Usage: java BMI mass(kg) height(m)");
Scanner scanner = new Scanner(System.in);
args = new String[2];

for (;;) {
try {
System.out.println("please input weight:");
double weight = scanner.nextDouble();
System.out.println("please input height:");
double height = scanner.nextDouble();
args[0] = weight + "";
args[1] = height + "";
if(-1==weight || -1==height){
System.out.println("exit!");
System.exit(1);
}
break;
} catch (Exception e) {
// e.printStackTrace();
System.out.println("data type error !!! please input double type\n exit please input -1");
continue;
}
}
return args;

}
}
}

❷ dos或unix下運行java程序

1.
javac是編譯java文件,編譯後的java文件,是創建了包名的一個文件路徑,比如直接執行javac A.java,那麼會在當前目錄下創建如下class文件:a/b/A.class
2.
2當執行java命令的時候,如果還在當前目錄下執行java命令就會報錯,因為在當前目錄下,並不能找到A.class。
3.
當越包引用的時候,如題。那麼在執行javac A.java到時候,編譯器會尋找a/c/B.class文件,如果沒有編譯B.java文件,那麼就不會存在a/c/B.class文件,就會報錯了。所以在執行javac A.java的時候,要首先編譯該類調用的其它包中的所有文件。
4.
sun還有一個編譯工具叫Ant,這個東西可以比較輕易的解決這個問題,具體Ant的使用就自己查資料吧。事實上各種的編譯軟體都是使用Ant編譯的。除非他自己寫一個類似功能的軟體。

❸ 如何用java實現修改unix下一些用戶的口令

您好,我來為您解答:
使用encrypt自己些修改password的程序.
或者可以修改系統passwd成可以接收pass參數.
對於UNIX用JAVA操作,十有八九就是錯,不說Runtime.getRuntime ().exec 是否能和在直接輸命令等價(我認為是不等價的,加多了參數,就根本不認,原因不知)==>LZ還是將命令寫到SHELL裡面。
拿JAVA直接調用SHELL
如果我的回答沒能幫助您,請繼續追問。

❹ 怎麼在java中執行UNIX腳本代碼

public static void parseLog(ArrayList<String logAddress,
ArrayList<String exceWords, HashMap<String,String excelevel,String beginTime,int start,int end,String fmt) throws IOException,
InterruptedException {
Date date = null;
long dbDate = 0;
dbDate = DBLogExce.getMaxDate();
for (int i = 0; i < logAddress.size(); i++) {//遍歷URLString url = logAddress.get(i);
//主要運用java中的Process類,調用exc();方法,執行命令,的到輸入流,解讀文件,
Process proc = null;try {proc = Runtime.getRuntime().exec(
"grep " + "'" + beginTime + "' " + url);
} catch (IOException e) {
e.printStackTrace();}InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null)
System.out.println("<OUT");
for(int j=0;j<exceWords.size();j++){
//判斷當天的日誌是否包含異常關鍵字
int index = line.indexOf(exceWords.get(j));
if(index!=-1){
String exceLevel = excelevel.get(exceWords.get(j));
//解析異常得到時間
line = line.substring(start, end);
date = ToolUtils.parseToDate(line, fmt);
long l = date.getTime();
//判斷大於資料庫最大時間,插庫

❺ 關於java和unix

學java必然有一些先行課,和先行知識
包括基本的邏輯運算,計算機基礎原理比如馮諾依曼體系二進制之類內容,然後就是學習java的基本語法,這期間不需要使用集成開發環境,用記事本或者editplus就行,教材用約薄的越好,一定要java基礎,語法都通了,就可以開始做一些能用的東西了,這個時候就可以用eclipse了(順便說一下jdk不是開放工具,是一組java的基礎類和編譯調試程序,雖然名字叫jdk,java develope kit但是實際是堆類,跟.net framwork一樣),有了eclipse(一般要搭配Myeclipse插件)就可以開發一些復雜的桌面應用了,這個時候要做的就是熟悉面向對象的思想,然後學習html,JavaScript,CSS這些網頁基礎知識

這些都准備好了就可以開始做傳說中的J2EE程序了,所謂J2EE不是一個什麼規范,他是jdk的另外一個版本,一般你下載的jdk叫做J2se就是java 2 standard edition,而j2ee是java 2 Enterprise edition,J2EE的develope kit用Myeclipse就行,裡面有web工程都不用你操心了,當你開發j2ee工程時候需要用到一個容器來解析j2ee(就如同j2se的套件裡面有編譯工具一樣)這個容器最方便的就是tomcat了

然後是UNIX,你根本不用學,在xp上開發好到unix就可以,跨平台,只要unix上裝了unix的java虛擬機就能直接用了,如果要學的推薦使用VMware這個東西,可以在xp上虛擬出unix,linux,甚至是mac,而且最新版的VMware據說可以同時開4,5個虛擬操作系統都不會死機

推薦書,按我說的順序先看基礎,任何出版社都ok,然後看比基礎後一些的(如果不想做桌面應用跳過也可以),然後看j2ee教程,最好有案例那種,哪本都可以,講的都挺詳細,然後專項看struts,Hibernate,spring的書

解釋一下上面說那些詞(其實你踏實下來看書都能找到答案,書里都會說)mvc是sun公司發明的一種編程的方式,就是做軟體時候按照3曾來分類,m是modal模型層主要負責描述一些實例的屬性並且留出對應的公共set,get方法,v是view視圖層,用來給用戶看的,c是控制層,控制一些方法去對m曾里的實例進行增刪改查等操作

ant是一套部署工具,一般你調試以後要把工程部署一下,如果每次都手工做就太笨了,所以發明了ant

ejb是sun公司出的一套框架Enterprise java bean,到3.0以後才有人用,而且功能和ssh效果差不多,不多說了

「ssh=struts,hibernate,spring, 三個框架」引用別人說的,這個正確

struts是一個mvc框架,主要用jsp做視圖層,struts的action類做控制層,struts的formbean做模型層(不過自己也要建立模型層方便和資料庫交互)

hibernate是一套資料庫持久化框架模型,用法也很簡單,在Myeclipse里都集成了,沒有特殊需求都用IDE生成就可以了,不過真實項目里生成好的要自己改一些地方才能用

spring是一套面向刻面和反轉控制的框架,至於這兩個是什麼英文叫AOP和Ioc不贅述了,網上搜搜很多,而且看spring的書第一張一定會說這個

log4j是一套記錄日誌的java組件,用不用都行,struts里都集成了

cvs是做版本控制的一個工具Myeclipse里集成了

junit是一套用來做單元測試的工具類,Myeclipse里也集成比較復雜,不過以後到公司了,公司都會安排你來做測試,到時候他們怎麼要求怎麼做,中國的破公司很多都不做測試,跑通了就ok了

❻ unix下如何啟動和關閉一個java程序

用Runtime類可以執行DOS命令來執行一個進程,如下就是打開記事本:

try {
Runtime runtime = Runtime.getRuntime();
runtime.exec("notepad.exe");
} catch (IOException e) {
e.printStackTrace();
}

Thread是線程,不是進程,樓主可以去查查線程和進程的區別。

運行main函數時,就啟動了一個java.exe進程,對應的dos命令就是java xxx

樓主可以用Runtime 來執行,java xxx,只要路徑正確,就會啟動另一個java進程。

❼ java程序中調用帶通配符*的unix系統命令

由於在linux環境下,我們一般使用bash shell調用這些命令, 而其中的一些符號 諸如:
*, ?, >, < , | 這樣的符號是通過/bin/bash -c來做解釋後再傳遞給 所調用的命令
/bin/bash -c 這個參數已經作為默認命令,在系統啟動時載入到運行環境中,所以我們敲以上命令的時候可以省略
但對於java的Process來說,不會識別這些符號,因此我們必須強制調用/bin/bash -c來幫我們做符號解釋:
http://tuhaitao.iteye.com/blog/1047820

❽ 如何使用shell在unix下執行java 程序

你是在linux環境下運行吧!
如果你是要編譯執行單個java文件,當然用javac,和java,如果是在一個shell腳本中妄圖調用java程序,假如這個程序是個jar包,也許可以這么干:在你能保證的路徑下放入可執行的jar包,然後在腳本中寫到:java -jar jar包路徑+jar包名稱.jar,不信可以在終端使用該命令!

❾ 在unix下用java程序獲取另外一台機器(windows)上的文件或者調用某一個可執行文件(exe或者bat)

windows那裡寫個servlet,用於讀取某個文件,並向response輸出這個文件
unix那台用http(河蟹)client發起來個請求,即訪問這個servlet,得到輸入流之後開始保存文件
即一個輸出,一個輸入
就可以得到你想要的文件了
也可以用java socket不過這個就比較麻煩

閱讀全文

與java執行unix命令相關的資料

熱點內容
如何截獲手機app連接的ip 瀏覽:330
冰箱壓縮機是否需要電容 瀏覽:344
python列表每一行數據求和 瀏覽:274
自己有一台伺服器可以玩什麼 瀏覽:656
社會學波普諾pdf 瀏覽:584
解壓做食物的小視頻 瀏覽:758
pdf怎麼單獨設置文件夾 瀏覽:474
業務邏輯程序員 瀏覽:659
addto新建文件夾什麼意思 瀏覽:160
有伺服器地址怎麼安裝軟體 瀏覽:659
安卓如何完全清除數據 瀏覽:690
安卓安卓證書怎麼信任 瀏覽:53
伺服器被攻擊如何解決 瀏覽:221
學霸變成程序員 瀏覽:881
c語言編譯錯誤fatalerror 瀏覽:441
ipv4內部伺服器地址怎麼分配 瀏覽:463
java線程安全的方法 瀏覽:951
重復命令畫梯形 瀏覽:164
在疫情就是命令 瀏覽:329
自己搭建一個什麼伺服器好玩 瀏覽:254