在做一个读取服务器端文件的文件名和文件长度的时候,遇到了读取路径出错的问题。最开始直接将放文件的文件夹放到工程目录下,然后直接path = "public_files/"(public_files为存放文件的文件夹),结果读出来的结果为空。之后试着将文件夹放到WebContent目录下和WEB-INF/classes目录先都不行。之后,考虑到这整个服务器端是要上传到Tomcat服务器的,于是使用了服务器中的路径
path = "/var/lib/tomcat6/webapps/public_files/";
结果是可行的。
需要注意的是,使用该路径的时候,文件夹要放在WEB-INF/classes目录下。但是,使用这个的话,换另一个服务器就不行了。于是在网上查找资料后,改用
path = this.getClass().getResource("/public_files").getFile();
于是问题就解决了。
this.getClass().getResource()
是得到文件的一个绝对路径的方法。当然,还可以用
Listener的getContent()
方法。