Java运行命令行参数及常见问题
问题: 编写一个程序,打印出从命令行获得的第三个参数
Java源码:
public class MainTest {
public static void main(String[] args) {
test1(args);
}
/**
* 编写一个程序,打印出从命令行获得的第三个参数
*/
private static void test1(String[] args) {
if(args.length < 3){
System.out.println("命令行不足三位");
}else {
System.out.println("命令行第三个参数是:"+args[2]);
}
}
}
方式一:命令行指令:
J:\a-study\jwt\src\main\java\practice\java\allisobject>javac -encoding UTF-8 MainTest.java
J:\a-study\jwt\src\main\java\practice\java\allisobject>java MainTest one two three
命令行第三个参数是:three
方式二:idea中设置:
常见问题:
- javac命令编码异常
J:\a-study\jwt\src\main\java\practice\java\allisobject>javac MainTest.java
MainTest.java:4: 错误: 编码GBK的不可映射字符
* 涓?鍒囬兘鏄璞$▼搴忓叆鍙?
^
MainTest.java:4: 错误: 编码GBK的不可映射字符
* 涓?鍒囬兘鏄璞$▼搴忓叆鍙?
解决
javac -encoding UTF-8 MainTest.java
- java命令找不到文件
J:\a-study\jwt\src\main\java\practice\java\allisobject>java MainTest.class
错误: 找不到或无法加载主类 MainTest.class
解决:原因是因为引入的package,命令行会更具package查找下面的文件
可以将package删除重新编译,也可以退回到package主目录下加载文件