Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web服务_Java_Web Services - Fatal编程技术网

Java Web服务

Java Web服务,java,web-services,Java,Web Services,我有一个非常基本的问题。我是Java Web服务的新手。我想使用webservices获取服务器上的文件名,所以我写了下面的代码;但我有个例外。错在哪里 包gungor.webWord import java.io.File; import javax.jws.WebService; import javax.jws.WebMethod; import javax.jws.WebParam; @WebService(serviceName = "webWordWebService") publ

我有一个非常基本的问题。我是Java Web服务的新手。我想使用webservices获取服务器上的文件名,所以我写了下面的代码;但我有个例外。错在哪里

包gungor.webWord

import java.io.File;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;

@WebService(serviceName = "webWordWebService")
public class webWordWebService {

    /** This is a sample web service operation */
    @WebMethod(operationName = "hello")
    public String hello(@WebParam(name = "name") String txt) {
        return "Hello " + txt + " !";
    }

    /**
    * Web service operation
    */
    @WebMethod(operationName = "getFileNames")
    public String[] getFileNames(@WebParam(name = "parameter") java.lang.String path) {
        File dir=new File(path);
        String files[]=dir.list();
        String fileNames[]={""};
        int j=0;
        for (int i = 0; i < files.length; i++) {
            if(!files[i].startsWith(".")){
                fileNames[j]=files[i];
                j++;
            }
        }
        return fileNames;
    }
}

异常的原始原因是:

Caused by: java.lang.ArrayIndexOutOfBoundsException: 1 at gungor.webWord.webWordWebService.getFileNames(webWordWebService.java:37) at 
没有行号很难判断,但这是一个可能的原因:

fileNames[j]=files[i];

。。。由于fileNames[]是一个用一个元素初始化的数组,因此fileNames[j],其中j==1,将导致堆栈跟踪中显示的异常。

感谢大家的帮助。我确实更改了文件名[j]=files[I]行,但问题解决了。我确实定义了一个列表并向其中添加了字符串元素。
fileNames[j]=files[i];