普通的寫法在weblogic的war包中讀取不到資源,嘗試以下的寫法
public ? static ? final ? String ? PROPERTIES_FILE_NAME ? = ? "/*.xml"; ?
? path ? = ? this.getClass().getResource("").getPath(); ?
? ? ? ? ? ? ? ? ? int ? pos ? = ? path.indexOf("WEB-INF"); ?
? ? ? ? ? ? ? ? ? path ? = ? path.substring(0, ? pos)+"WEB-INF\\classes"; ?
? file ? = ? new ? File(path, ? PROPERTIES_FILE_NAME); ?
? 把文件放到web-inf/classes ? 的目錄下面我想應該不會在出現這樣的問題了
以下摘自http://topic.csdn.net/t/20050915/16/4272932.html
Class ? 類提供了下面的方法: ?
? public ? java.io.InputStream ? getResource(java.lang.String ? path) ?
? ?
? // ? Thread.getContextClassLoader(); ? 能得到 ? WebApps的當前類加載器,如果你的調用是在你自己寫的 ? Java ? 類中(它放在 ? /WEB-INF/classes ? 或 ? /WEB-INF/lib ? 的 ? jar ? 中,web ? 應用程序的根: ? ?
? %APP_BASE%/ ? 路徑下的所有東西都歸 ? ContextClassLoader ? 來加載的,如果你的 ? getResource ? 調用是在 ? /WEB-INF/classes ? 下的一個 ? .class ? 中發出的那么直接 ? getClass().getResource('/WEB-INF/web.xml'); ? 否則你要 ? Thread.getContextClassLoader().getResource("/WEB-INF/web.xml"); ?
? ?
? URL ? url ? = ? getClass().getResource("/WEB-INF/web.xml"); ? ?
? //返回 ? :jar:file:/C:/tomcat/webapps/mywebapps.war!/WEB-INF/web.xml ? ; ?
? ?
? 字符串查找 ? : ? url.getProtocol() ? 返回 ? jar, ? 后面開始一直到 ? ? !/ ? 位置的這中間部分就是文件位置。
相關:
Java程序中的配置文件的存放和讀取 http://hdwangyi.javaeye.com/blog/105512
http://www.tkk7.com/crazycy/archive/2008/03/18/187056.html
http://www.jguru.com/faq/view.jsp?EID=416061
http://www.javaresearch.org/article/7499.htm
public ? static ? final ? String ? PROPERTIES_FILE_NAME ? = ? "/*.xml"; ?
? path ? = ? this.getClass().getResource("").getPath(); ?
? ? ? ? ? ? ? ? ? int ? pos ? = ? path.indexOf("WEB-INF"); ?
? ? ? ? ? ? ? ? ? path ? = ? path.substring(0, ? pos)+"WEB-INF\\classes"; ?
? file ? = ? new ? File(path, ? PROPERTIES_FILE_NAME); ?
? 把文件放到web-inf/classes ? 的目錄下面我想應該不會在出現這樣的問題了
以下摘自http://topic.csdn.net/t/20050915/16/4272932.html
Class ? 類提供了下面的方法: ?
? public ? java.io.InputStream ? getResource(java.lang.String ? path) ?
? ?
? // ? Thread.getContextClassLoader(); ? 能得到 ? WebApps的當前類加載器,如果你的調用是在你自己寫的 ? Java ? 類中(它放在 ? /WEB-INF/classes ? 或 ? /WEB-INF/lib ? 的 ? jar ? 中,web ? 應用程序的根: ? ?
? %APP_BASE%/ ? 路徑下的所有東西都歸 ? ContextClassLoader ? 來加載的,如果你的 ? getResource ? 調用是在 ? /WEB-INF/classes ? 下的一個 ? .class ? 中發出的那么直接 ? getClass().getResource('/WEB-INF/web.xml'); ? 否則你要 ? Thread.getContextClassLoader().getResource("/WEB-INF/web.xml"); ?
? ?
? URL ? url ? = ? getClass().getResource("/WEB-INF/web.xml"); ? ?
? //返回 ? :jar:file:/C:/tomcat/webapps/mywebapps.war!/WEB-INF/web.xml ? ; ?
? ?
? 字符串查找 ? : ? url.getProtocol() ? 返回 ? jar, ? 后面開始一直到 ? ? !/ ? 位置的這中間部分就是文件位置。
相關:
Java程序中的配置文件的存放和讀取 http://hdwangyi.javaeye.com/blog/105512
http://www.tkk7.com/crazycy/archive/2008/03/18/187056.html
http://www.jguru.com/faq/view.jsp?EID=416061
http://www.javaresearch.org/article/7499.htm