第一篇:java路徑問題小結(jié)
1.user.dir Java代碼
1.//通過(guò)來(lái)獲取;此目錄并非是固定的,而是根據(jù)該代碼所屬類運(yùn)行時(shí)的環(huán)境而定。
2.//普通的java程序中獲得的是該類所屬項(xiàng)目的根目錄(d:workspaceapp)3.//在特定服務(wù)器下發(fā)布運(yùn)行的javaweb程序則獲得的是該服務(wù)器下提供運(yùn)行環(huán)境的目錄
4.//(如用Tomcat將獲得F:Tomcat 6.0bin)5.System.getProperties(“user.dir”)
2.classes目錄
顧名思義指存放類文件的根目錄。
普通java程序的classes目錄指appbin ? web項(xiàng)目的classes目錄是指appWebRootWEB-INFclasses ?
Java代碼
1.//在普通項(xiàng)目或web項(xiàng)目中
2.//s:獲得classes目錄絕對(duì)路徑(包括TestClass類所屬包目錄)3.// appbincomtest 4.// 或appWebRootWEB-INFclassescomtest 5.//ss:獲得classes目錄絕對(duì)路徑 6.// appbin 7.// 或appWebRootWEB-INFclasses 8.com.test.TestClass c=new com.test.TestClass();9.String s=c.getClass().getResource(“").getPath();10.String ss=c.getClass().getClassLoader().getResource(”“).getPath();
3.web項(xiàng)目根目錄(在服務(wù)器發(fā)布后)app
(1)根據(jù)ServeletContext的getRealPath()方法獲得絕對(duì)路徑 Java代碼
1.//第一種獲得”app“絕對(duì)路徑f:tomcat 6.0webappsapp 2.//第二、三種獲得”app“絕對(duì)路徑f:tomcat 6.0webappsapp 3.getServletContext.getRealPath(”“);4.getServletContext.getRealPath(”“);5.getServletContext.getRealPath(”/“);
(2)根據(jù)HttpServletRequest的getContextPath()方法獲得相對(duì)路徑 Java代碼
1.getRequest().getContextPath();
4.在struts2框架中獲得發(fā)布后web項(xiàng)目的根目錄 Java代碼
1.//利用ServletActionContext的靜態(tài)方法
2.String real=ServletActionContext.getServletContext().getRealPath(”");3.String relative=ServletActionContext.getRequest().getContextPath());
如果使用user.dir的值的話獲得的路徑為%Tomcat_Home%bin,所以不推薦使用user.dir這一環(huán)境變量來(lái)獲取路徑。
對(duì)于新手來(lái)說(shuō),搞清楚java項(xiàng)目的開發(fā)目錄和發(fā)布目錄的信息是十分必要的,特別是使用集成開發(fā)環(huán)境下,目錄的安排十分透明,如果脫離開發(fā)環(huán)境的話,很多新手都會(huì)對(duì)項(xiàng)目目錄結(jié)構(gòu)很迷茫。
第二篇:java路徑總結(jié)
平時(shí)寫程序的時(shí)候,很多時(shí)候提示文件找不到,而拋出了異常,現(xiàn)在整理如下
一 相對(duì)路徑的獲得
說(shuō)明:相對(duì)路徑(即不寫明時(shí)候到底相對(duì)誰(shuí))均可通過(guò)以下方式獲得(不論是一般的java項(xiàng)目還是web項(xiàng)目)
String relativelyPath=System.getProperty(“user.dir”);上述相對(duì)路徑中,java項(xiàng)目中的文件是相對(duì)于項(xiàng)目的根目錄 web項(xiàng)目中的文件路徑視不同的web服務(wù)器不同而不同(tomcat是相對(duì)于 tomcat安裝目錄bin)
二 類加載目錄的獲得(即當(dāng)運(yùn)行時(shí)某一類時(shí)獲得其裝載目錄)1.1)通用的方法一(不論是一般的java項(xiàng)目還是web項(xiàng)目,先定位到能看到包路徑的第一級(jí)目錄)
InputStream is=TestAction.class.getClassLoader().getResourceAsStream(“test.txt”);(test.txt文件的路徑為 項(xiàng)目名srctest.txt;類TestAction所在包的第一級(jí)目錄位于src目錄下)
上式中將TestAction,test.txt替換成對(duì)應(yīng)成相應(yīng)的類名和文件名字即可
1.2)通用方法二(此方法和1.1中的方法類似,不同的是此方法必須以'/'開頭,參考http://riddickbryant.iteye.com/blog/436693)InputStream is=Test1.class.getResourceAsStream(“/test.txt”);
(test.txt文件的路徑為 項(xiàng)目名srctest.txt,類Test1所在包的第一級(jí)目錄位于src目錄下)
三 web項(xiàng)目根目錄的獲得(發(fā)布之后)1 從servlet出發(fā)
可建立一個(gè)servlet在其的init方法中寫入如下語(yǔ)句 ServletContext s1=this.getServletContext();String temp=s1.getRealPath(“/”);(關(guān)鍵)
結(jié)果形如:D:工具Tomcat-6.0webapps 主站蜘蛛池模板: 日日摸天天碰中文字幕你懂的| 国产精品秘入口18禁麻豆免会员| 少妇被粗大的猛烈进出动视频| 精品无码一区二区三区亚洲桃色| 国产婷婷丁香五月缴情成人网| 国产69精品久久久久久久| 欧美极品色午夜在线视频| 无码av无码一区二区桃花岛| 国内精品人妻无码久久久影院| 成人二区| 亚洲国产成人无码av在线| 看国产黄大片在线观看| 图片区小说区激情区偷拍区| 亚洲欧美日韩成人高清在线一区| 久久青青草原精品国产| 国产成人一卡2卡3卡4卡| 丰满的少妇邻居中文bd| 国产精品揄拍100视频| 精品少妇人妻av无码专区| 精品亚洲成在人线av无码| 亚洲色在线无码国产精品不卡| 拍真实国产伦偷精品| 人妻在卧室被老板疯狂进入| 国产乱子伦视频一区二区三区| 国产精品无码专区在线观看不卡| 精品乱人伦一区二区三区| 牲高潮99爽久久久久777| av在线观看地址| 欧美大香线蕉线伊人久久| 久久久久亚洲精品天堂| 午夜精品久久久久久久99老熟妇| 俄罗斯老熟妇色xxxx| 自拍偷自拍亚洲精品10p| 国产午夜亚洲精品不卡网站| 亚洲人成网站18禁止大| 亚洲成av人片在线观看无| 精品综合久久久久久97| 亚洲精品一区二区三区四区五区| 亚洲妇女行蜜桃av网网站| 日本添下边视频全过程| 中文字幕精品无码一区二区|