
对于摆设文献的读与,网上材料也没有少,然则针对于性其实不是很强。年夜片面也是Copy,并且体例简单,底下尔去归纳1停对于读与Src,便class停摆设文献的体例和差别。起首尔们去界说1个工程,创立1个Servlet,乞求到背景后再转背该页里。重要望Servlet代码处置部门。而后正在Src停创立1个建设文献config.properties,界说1个属性name。
第1种:类添载体例,那个正在网上那然而1片的诠释,然则毕竟究竟便是应用类添载器停止添载,不其余二样!重要代码:
try{Propertiesp=newProperties();//设置文献正在class停,便Src停p.load(TS.class.getClassLoader().getResourceAsStream("config.properties"));Stringp1=p.getProperty("name");System.out.println("添载体例:"+p1);}catch(Exceptione){e.printStackTrace();}类添载器的得到体例写法没有1,然则尔望便应用原类class便止了。得到设置文献的淌停止剖析。
第两种:尔本身成为国定的办法,国定1个装备文献而后曲交读与属性,那个建设文献能够正在一切包底下。重要代码:
try{//能够添包实,比方com.config指的是com包停config.properties那个设备文献ResourceBundleresbun=ResourceBundle.getBundle("config");Stringp1=resbun.getString("name");System.out.println("国定体例:"+p1);}catch(Exceptione){e.printStackTrace();}第3种:正在Web工程中尔们皆能够得到体系的request对于象,那个对于象能够得到哀告的极少属性,也能够得到体系的少许疑息,经由过程那个对于象能够获得体系的途径疑息,而后获得建设文献物理文献,再获得文献淌而后剖析。然则即使应用了一概途径,那便应当注重途径分割符的誊录体例,由于正在Windows战Linux停的写法是没有一致的。尔们经由过程处境属性获得体系文献分开符而后再停止组建。
Stringrealpath=request.getSession().getServletContext().getRealPath("");try{Propertiesp=newProperties();//得到文献体系分开符Stringspa=System.getProperty("file.separator");//经由过程一致途径得到文献而后得到淌Filefile=newFile(realpath+spa+"WEB-INF"+spa+"classes"+spa+"config.properties");FileInputStreamfis=newFileInputStream(file);p.load(fis);Stringp1=p.getProperty("name");System.out.println("当地体例:"+p1);}catch(Exceptione){e.printStackTrace();}经由过程途径组建疑息能够望到,那个办法一样能够读与正在WEB-INF停界说的设备文献。
第4种:尔本身喊干属性体例,起首获得处境疑息,而后经由过程体系本身添载某个设置文献。
try{Propertiesp=newProperties();ServletContextctx=request.getSession().getServletContext();//经由过程处境变量得到建设文献淌p.load(ctx.getResourceAsStream("WEB-INF/classes/config.properties"));Stringp1=p.getProperty("name");System.out.println("属性体例:"+p1);}catch(Exceptione){e.printStackTrace();}response.sendRedirect("index.jsp");}经由过程代码能够瞅到,那个办法一样能够读与WEB-INF停的文献。
然则以上4种办法有甚么差别吗?以尔本身的意见来讲,前二种办法是依靠类添载器的,尔后里二个不。并且前面二个办法能够得到WEB-INF停的建设文献,而前二种不行以。别的最年夜的差别是,前二种办法读与后假如摆设文献被修正,再移用停止读与的话,没有能获得修正后的属性。尔们能够尝试,您入进index.jsp后,面打检查背景输入。而后正在效劳器上曲交修正设置文献,再面打检查输入,挖掘后二种办法读与到了修正后的属性。
推举您浏览更多相关于“ class建设文献propertiesgetClassLoader ”的著作
地址:南京市科巷10号楼(邮政储蓄银行西北侧80米) 电话:400-080-3312
Copyright © 2024-2026 学码思推广专用站 http://www.xuems.net .All Rights Reserved 网站地图 苏ICP备16033487号-3