![](/img/trans.png)
[英]How can I make the display of a line in my command-line java program change without displaying a new line?
[英]How to make my program accept command-line options in Java?
我正在開發一個程序public class Talk
,它以兩種方式通信連接客戶端和服務器。 我將使用終端窗口運行該程序。 如何添加命令行選項以使這些選項起作用Talk –h [hostname | IPaddress] [–p portnumber]
Talk –h [hostname | IPaddress] [–p portnumber]
或Talk –s [–p portnumber]
或Talk –a [hostname|IPaddress] [–p portnumber]
或Talk –help
這是我到目前為止:
if (args[0] == "-h" && args[2] == "-p" && (Integer.parseInt(args[3]) % 1 == 0)) {
// code for Talk –h [hostname | IPaddress] [–p portnumber]
} else if (args[0] == "-s" && args[1] == "-p" && (Integer.parseInt(args[2]) % 1 == 0)) {
// code for Talk –s [–p portnumber]
} else if (args[0] == "-a" && args[2] == "-p" && (Integer.parseInt(args[3]) % 1 == 0)) {
// code for Talk –a [hostname|IPaddress] [–p portnumber]
} else if (args[0] == "-help") {
// code for Talk –help
} else {
System.out.println("Invalid invocation, use -help for instructions on how to use program");
System.exit(-1);
}
這是添加命令行選項的正確方法嗎? 以及他們的限制?
除非它是一項教育練習,否則您可能會使用一個完善的庫來解析命令行做得更好。 common-cli
( https://commons.apache.org/proper/commons-cli/ ) 就是這樣一種,盡管還有其他的。
問題是穩健地解析命令行選項很困難。 有各種各樣的復雜性需要處理,單獨的錯誤檢查可能非常繁重。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.