日期:2014-05-17  浏览次数:20773 次

this.getClass().getResource("/").这个方法在unix系统下是否不兼容


String path= this.getClass().getResource("/").getPath();
path=path.replace("WEB-INF/classes/", "userdata/");
OutputStream os=new FileOutputStream(path+name+".xls");
WritableWorkbook book= Workbook.createWorkbook(os); 



 this.getClass().getResource("/").getPath();我主要是获取当前class所在的路径,用这个路径来生成excel表格,我在本地windows系统电脑 测试都可以生成excel表格, 可是我上传到unix操作系统的服务器上没有反应。  
   是不是unix操作系统不兼容这个方法?
unix os

------解决方案--------------------
看看API:
public URL getResource(String name)

Finds a resource with a given name. The rules for searching resources associated with a given class are implemented by the defining class loader of the class. This method delegates to this object's class loader. If this object was loaded by the bootstrap class loader, the method delegates to ClassLoader.getSystemResource(java.lang.String).

Before delegation, an absolute resource name is constructed from the given resource name using this algorithm:

    If the name begins with a '/' ('\u002f'), then the absolute name of the resource is the portion of the name following the '/'.
    Otherwise, the absolute name is of the following form:

        modified_package_name/name 

    Where the modified_package_name is the package name of this object with '/' substituted for '.' ('\u002e'). 

Parameters:
    name - name of the desired resource
Returns:
    A URL object or null if no resource with this name is found
Since:
    JDK1.1