(String args [])是什么意思?

时间:2011-11-21 18:42:38

标签: java mean args

我在File.java

中有这个
 public static void main(String args[]) throws Exception_Exception {
    URL wsdlURL = CallSService.WSDL_LOCATION;
    if (args.length > 0) { 
        File wsdlFile = new File(args[0]);
        try {
            if (wsdlFile.exists()) {
                wsdlURL = wsdlFile.toURI().toURL();
            } else {
                wsdlURL = new URL(args[0]);
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();

我希望将其转移到JSP文件中,所以我喜欢这样:

List<String> Search(String keyS){

if(keyS!=null){
QName SERVICE_NAME = new QName("http://ts.search.com/", "callSService");





String arg=??????????????;

URL wsdlURL = CallSService.WSDL_LOCATION;

File wsdlFile = new File(arg);
try {
    if (wsdlFile.exists()) {
        wsdlURL = wsdlFile.toURI().toURL();
    } else {
        wsdlURL = new URL(arg);
    }
} catch (MalformedURLException e) {
    e.printStackTrace();
}

我想将args[0]替换为arg(String args[])是什么意思?以及如何更换它?

2 个答案:

答案 0 :(得分:8)

String args[]是从命令行传入的字符串数组。

因此,如果您使用java MyApp arg1 arg2

启动了应用

然后args[]将包含=&gt; ["arg1", "arg2"]

Java会自动拆分用空格分隔的参数,这就是它知道你传入多少个参数的方式。

答案 1 :(得分:4)

不要在JSP中执行此操作:(

不要将您的功能放在main中,这令人困惑:public static void main通常是程序的入口点,而不是通用方法。您可以使用作为一个,但IMO会产生误导。

相反,创建一个可以使用所需参数调用的实例方法。它可能是一个static方法,但这种方法存在一些不灵活性,使得测试更加困难。在JSP中嵌入代码也会增加测试难度。

除非您提供绝对路径,否则您需要使用ServletContext.getRealPath()来获取相对于网络应用的文件。如果文件在应用程序中“嵌入”(在类路径上),您将需要使用resourceAsStream变体之一。

相关问题