导航:首页 > 程序命令 > java的命令行参数

java的命令行参数

发布时间:2023-01-05 03:49:58

A. java 命令行 传递参数

不要在Java中处理“<”(重定向)符号,那是留给操作系统来处理的。
要想将将输入从定向文件传递给Java程序,可采用如下办法。
(1)首先制作批文件(Windows下为.bat文件,Linux/UNIX下为.sh文件)。给你作个例子(以Windows为例,制作一个名称为start.bat的文件):
@set/p A= >nul
@set/p B= >nul
@set/p C= >nul
@set/p D= >nul
@java 您的java启动类名 %A% %B% %C% %D%
@set/p A= <nul
@set/p B= <nul
@set/p C= <nul
@set/p D= <nul
这里只有四个参数,您可以添加更多的参数。
之后编写输入重定向文件(in.txt),内容范例如下:
para1Value
para2Value
para3Value
...
在执行的时候,使用格式如下:
start.bat < in.txt
这时,您的Java启动类.main才能接收到从定向文件里的参数。
建议在批文件中可以多设一些参数,即使输入重定向文件内提供的参数值数量不足也没有关系,操作系统不会传递没无值参数。

B. 有关Java的确命令行参数

这是数组的用法
args.length 表示数组的长度,即这个数组中有多少个元素
args[i]表示根据数据的下标来取数据
在for(int i = 0;i < args.length;i++) 中,i表示计数器,
也可以理解为for(循环变量初值;循环条件;递增值),首先看计数器是否满足循环条件,如果不满足,则退出循环。如果满足,则执行语句,执行完后,按第三个条件递增或递减,再判断是否满足循环条件,是否执行......
总之,你把for,while,do while三个对比学会好点。

C. 如何识别java命令行编译参数

javac

用法:javac <选项> <源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件的位置
-cp <路径> 指定查找用户类文件的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖安装的扩展目录的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-d <目录> 指定存放生成的类文件的位置
使用-d参数,如类中定义了包,则编译时会自动生成包, 如:javac -d . helloworld.java
表示在当前目录下编译Helloworld 类。.表示当前目录,如helloword中定义有包,则在当前目录下生成包:

-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-X 输出非标准选项的提要
-J<标志> 直接将 <标志> 传递给运行时系统

java

用法: java [-选项] 类 [参数...]
(执行一个类)
或者 java [-选项] -jar jar文件 [参数...]
(执行一个jar文件)
其中,可能的选项包括:
-client 选择 "client" VM(ginger547:应该是指Virtual Machine)
-server 选择 "server" VM
-hotspot 与 "client" VM同义 [不赞成]
默认情况的VM是client.
-cp <一个文件夹和zip/jar文件组成的类搜索路径>
-classpath <一个文件夹和zip/jar文件组成的类搜索路径>
一个由文件夹,JAR压缩文件,或者ZIP压缩文件组成的用来搜索类的列表
-D<名字>=<值>
设置一个系统属性
-verbose[:class|gc|jni]
使详细输出变的可用
-version 打印产品版本然后退出
-version:<值>
只运行指定版本
-showversion 打印产品版本后继续
-jre-restrict-search | -jre-no-restrict-search
在版本搜索的时候,包含/排除用户私人的JRE
-? -help 打印帮助信息
-X 打印非标准选项帮助
-ea[:<包名>...|:<类名>]
-enableassertions[:<包名>...|:<类名>]
使断言可用
-da[:<包名>...|:<类名>]
-disableassertions[:<包名>...|:<类名>]
是断言不可用
-esa | -enablesystemassertions
使系统级断言可用
-dsa | -disablesystemassertions
使系统级断言不可用
-agentlib:<库名>[=<选项>]
加载本地代理库<库名>,例如. -agentlib:hprof
同时可查看, -agentlib:jdwp=help和 -agentlib:hprof=help
-agentpath:<路径名>[=<选项>]
通过全路径名来加载本地代理库
-javaagent:<jar路径>[=<选项>]
加载Java编程语言代理,可查看 java.lang.instrument

D. java命令行参数的作用

当你在Java命令行后面带上参数,Java虚拟机就直接把他存放到了main方法中的参数String数组里了,你可以运行下下面这个小程序就明白!!

public class Test {
public static void main(String[] args)
{
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);

}
}
用控制台编译: javac Test.java
运行: java Test aaa bbb ccc
记得运行那一行代码后面带上三个参数~~~参数之间用空格隔开!

E. 关于java命令行参数的问题

看起来好像是你对 命令行参数 的理解有错误。
命令行 Java Tail filename [10]
的意思是:java执行名叫Tail的.class文件,并传入参数为filename和[10]
所以你在主函数main()方法里,if条件,只有判断args[0]和args[1]。
==========================
你如果还不知道的话,你可以调试一下,打印出传入的所有参数。
在main()方法的第一行写:
if(args != null){
for(int i=0;i<args.length;i++){
system.out.printIn(args[i]);
}
}

F. JAVA这种命令行参数是什么意思

你好,很高兴回答你的问题。
这些参数是传递给main方法的那个数组参数的。
如果有帮助到你,请点击采纳。

G. java命令行参数是什么意思

这个名词我们可以分开来看:

“命令行"就是:DOC命令行"了,也就是那个黑色的框框。
"参数就"是程序里面所需要的"参数"了。
合起来"命令行参数”就是“在DOC下输入的程序所需的参数”。

H. java命令行参数

这个跟普通的运行没区别.java Message是指运行Message.class.后面的3个-g cruel world是当做参数传入主方法的String类型数组的.
因此这就是运行Message并且传入3个参数进去而已.

I. Java怎么解析命令行参数

用惯了控制台的java程序之后,最印象深刻的是其的简单与快捷,虽没有图形界面那样吸引人的眼球,但却也足以迷倒众生。那么java命令行参数有哪些呢?跟gkstk小编一起来学习吧!
控制台程序的运行少不了要通过控制台来传递参数,譬如:
Sh代码
ls -la
这是shell脚本的常用命令,其就是通过后置参数来传递相关信息。UNIX环境为C语言中提供了getopt()这样的函数可以解析后置参数,这个函数是很实用很强大的,但Java就...(我Google了一下,倒没有怎么找出来)。大概是这个功能对Java来说太不足挂齿了吧,但总得有个解决方法才行。
下面就是一个代码实例,用以说明。
这个实例运行的结果是运行在控制台,并允许可选的输入参数:
Sh代码
java TestOpt -i 89 -b -s TestString
那么就会设置几个prarameter的值
Java代码
public class TestOpt {
public static void main(String[] args) {
/*
* 这里先取默认值,因为不是所有参数都会被用户提供
*/
boolean prarameter1 = false;
int prarameter2 = 0;
String prarameter3 = "";
/*
* 设置一个offset变量,用来定位相关信息
*/
int optSetting = 0;
for (; optSetting < args.length; optSetting++) {
if ("-b".equals(args[optSetting])) {
prarameter1 = true;
} else if ("-i".equals(args[optSetting])) {
prarameter2 = Integer.parseInt(args[++optSetting]);
} else if ("-s".equals(args[optSetting])) {
prarameter3 = args[++optSetting];
}
}
/*
* 这里我只是打印出来相关的设置信息,具体的行为肯定是要自己取定义打
*/
System.out.println(prarameter1);
System.out.println(prarameter2);
System.out.println(prarameter3);
}
}
这种类似的方法估计应该有很多吧,但这个应该算是比较轻量级的。当然若参数非常多(同时也得进行验证输入)

J. 求java命令行参数详解

作用:
当你使用命令行的形式运行.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函数,所以当然出错了。
另外,虚机团上产品团购,超级便宜

阅读全文

与java的命令行参数相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163