一个奇怪的问题,关于servlet和java class

来源:百度知道 编辑:UC知道 时间:2024/05/26 22:19:48
javaclass 如下:
import java.io.File;
public class FileDo {
private static String[] str;
private static String linkstr="";
public static String getImage(String path){
File file=new File(path);
str=file.list();
if(str!=null){
for(int i=0;i<str.length;i++){
String imgname=str[i];
linkstr+=str[i];
}
}

return linkstr;
}
public static void main(String[] args){

String path="./WebRoot/images/logo/";
System.out.println(getImage(path));

}
}
运行该class 能把目录下的所有的文件名和文件夹的print出来。
但是我在servlet 的dopost方法中调用
String str=FileDo.getImage("./WebRoot/images/logo/");
System.out.println(str);
print出来的就是空格。
为什么会这样啊???

用这个就好了:System.out.println((new ac()).getImage(getServletContext().getRealPath("/")+"/images/logo/"));

因为你在SERVLET里用那个方法,新建立的文件是建立在:Tomcat6\bin里的.
那个文件夹不是你的工程路径

你在servlet里打印下:

String str=FileDo.getImage("./");
System.out.println(str);

就明白了.