Java Web服务
我有一个非常基本的问题。我是Java Web服务的新手。我想使用webservices获取服务器上的文件名,所以我写了下面的代码;但我有个例外。错在哪里 包gungor.webWordJava 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
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];