设为首页  |  加入收藏   |  点击咨询   
乘车路线
乘坐6,966,k906等公交车到文化路双铺路下车即可
咨询电话
招生咨询电话:0371-63383521 0371-63383522
学校地址:郑州市文化路90号河南财经政法大学文南1号楼
您当前所在的位置是:首页 > 专业介绍 > 软件
java如何使用相对路径读取文件
发布时间:2019-07-09 10:14:38 来源:安阳计算机学校 作者:安阳计算机学校

1.java project环境,使用java.io用相对路径读取文件的例子:
*目录结构:
 DecisionTree

           |___src

                |___com.decisiontree.SamplesReader.java

           |___resource

                |___train.txt,test.txt

*SamplesReader.java:
 String filepath="resource/train.txt";//注意filepath的内容;
 File file=new File(filepath);
 ……
*我们留意filepath的内容,java.io默认定位到当前用户目录("user.dir")下,即:工程根目
录"D:\DecisionTree"下,因此,此时的相对路径(以user.dir为基路径的路径)为"resource/train.txt"。这样,JVM就可以根据"user.dir"与"resource/train.txt"得到完整的路径(即绝对路径)"D:\DecisionTree\resource\train.txt",从来找到train.txt文件。
*注意:相对路径的起始处无斜杆"/";例如:
filepath="resource/train.txt";
而不是filepath="/resource/train.txt"; //error!
2、javaEE环境,使用Classloader用相对路径读取xml的例子:
*参见之前写的文章“通过虚拟路径或相对路径读取一个xml文件,避免硬编码”。
*内容如下:
java使用相对路径读取xml文件:
一、xml文件一般的存放位置有三个:
1.放在WEB-INF下;
2.xml文件放在/WEB-INF/classes目录下或classpath的jar包中;
3.放在与解析它的java类同一个包中,不一定是classpath;
二、相对应的两种使用相对路径的读取方法:
方法一:(未验证)
将xml文件放在WEB-INF目录下,然后
程序代码:
InputStream is=getServletContext().getResourceAsStream( "/WEB-INF/xmlfile.xml" );
方法二:将xml文件放在/WEB-INF/classes目录下或classpath的jar包中,则可以使用ClassLoader的静态
方法getSystemResourceAsStream(String s)读取;
程序代码:
String s_xmlpath="com/spf/web/ext/hotspot/hotspotxml/hotspot.xml";
InputStream in=ClassLoader.getSystemResourceAsStream(s_xmlpath);
方法三:xml在随意某个包路径下:
String s_xmlpath="com/spf/web/ext/hotspot/hotspotxml/hotspot.xml";
ClassLoader classLoader=HotspotXmlParser.class.getClassLoader();
InputStream in=classLoader.getResourceAsStream(s_xmlpath);
1.java project环境,使用java.io用相对路径读取文件的例子:
*目录结构:
 DecisionTree

           |___src

                |___com.decisiontree.SamplesReader.java

           |___resource

                |___train.txt,test.txt

*SamplesReader.java:
 String filepath="resource/train.txt";//注意filepath的内容;
 File file=new File(filepath);
 ……
*我们留意filepath的内容,java.io默认定位到当前用户目录("user.dir")下,即:工程根目录"D:\DecisionTree"下,因此,此时的相对路径(以user.dir为基路径的路径)为"resource/train.txt"。这样,JVM就可以根据"user.dir"与"resource/train.txt"得到完整的路径(即绝对路径)"D:\DecisionTree\resource\train.txt",从来找到train.txt文件。
*注意:相对路径的起始处无斜杆"/";例如:filepath="resource/train.txt";而不是filepath="/resource/train.txt"; //error!
2、javaEE环境,使用Classloader用相对路径读取xml的例子:
*参见之前写的文章“通过虚拟路径或相对路径读取一个xml文件,避免硬编码”。
*内容如下:java使用相对路径读取xml文件:
一、xml文件一般的存放位置有三个:
1.放在WEB-INF下;
2.xml文件放在/WEB-INF/classes目录下或classpath的jar包中;
3.放在与解析它的java类同一个包中,不一定是classpath;
二、相对应的两种使用相对路径的读取方法:
方法一:(未验证)
将xml文件放在WEB-INF目录下,然后
程序代码:
InputStream is=getServletContext().getResourceAsStream( "/WEB-INF/xmlfile.xml" );
方法二:将xml文件放在/WEB-INF/classes目录下或classpath的jar包中,则可以使用ClassLoader的静态方法getSystemResourceAsStream(String s)读取;
程序代码:
String s_xmlpath="com/spf/web/ext/hotspot/hotspotxml/hotspot.xml";
InputStream in=ClassLoader.getSystemResourceAsStream(s_xmlpath);
方法三:xml在随意某个包路径下:
String s_xmlpath="com/spf/web/ext/hotspot/hotspotxml/hotspot.xml";
ClassLoader classLoader=HotspotXmlParser.class.getClassLoader();
InputStream in=classLoader.getResourceAsStream(s_xmlpath);

上一篇:防止数据库入侵的四种方法 下一篇:.NET网络编程就业技能培训哪里好
安阳电脑学校 | 安阳计算机学校 | 计算机培训学校 | 电脑培训学校 | 在线咨询 | 网站地图|郑州北大青鸟
Copyright @ 2010-2023 安阳计算机学校-河南北大青鸟翔天信鸽IT培训学校 All Rights Reserved 版权所有
安阳电脑培训学校招生电话:152-251-91462