开发者社区> developerguy> 正文

Java工程路径及相对路径(转载)

简介: 3. 新建文件,默认位于工程目录new File("xxx.txt").getAbsolutePath();例如输出,D:\workspaces\workspace1\myProject如果使用ClassName.class.getResource("name.config")的结果作为File对象的参数,则会报错: java.io.FileNotFoundException: file:\D:\workspaces\workspace1\myProject\bin\com\hutu\log4j\name.config (文件名、目录名或卷标语法不正确。
+关注继续查看

 3. 新建文件,默认位于工程目录
new File("xxx.txt").getAbsolutePath();
例如输出,D:\workspaces\workspace1\myProject
如果使用ClassName.class.getResource("name.config")的结果作为File对象的参数,则会报错:

java.io.FileNotFoundException: file:\D:\workspaces\workspace1\myProject\bin\com\hutu\log4j\name.config (文件名、目录名或卷标语法不正确。)
at java.io.FileInputStream.open(Native Method)

 
 4. 配置文件路径
ApplicationContext context = new ClassPathXmlApplicationContext("Config.xml");
.xml, .properties等,默认还是从“工程目录”去找的
1). 倒是也可以用绝对路径,真心不推荐啊,太不优雅了;
2). 或者,将log4j文件置于bin/目录下:
     a). 代码中,PropertyConfigurator.configure("bin/log4j.properties");
     b). 代码中,PropertyConfigurator.configure(ClassLoader.getSystemResource("log4j.properties"));
     c). 注意,必须位于bin直接目录下,不可位于bin更深层的目录当中。可是这究竟是为神马捏?
 5. 查询某类的.class文件所在目录
Main.class.getResource(“”);
例如输出,file:/D:/workspaces/workspace1/myProject/bin/com/hutu/log4j/
注意,查询包上级路径,只需将参数改作“/”
 6. 查询thread上下文所在目录
Thread.currentThread().getContextClassLoader().getResource("");
例如输出,D:\workspaces\workspace1\myProject\bin\
 7. 查询某类的classloader所在目录
Main.class.getClassLoader().getResource("");
例如输出,D:\workspaces\workspace1\myProject\bin\
 8. 查询classloader所在目录
ClassLoader.getSystemResource("");
例如输出,D:\workspaces\workspace1\myProject\bin\

 class.getResourceAsStream("path")、class.getClassLoader().getResourceAsStream("path")区别的分析
class.getResourceAsStream("path"):如果path仅为一个文件名,则只会在包路径下查找,当path以“/”开头时,则会从classpath的根路径开始查找(SRC根目录)
class.getClassLoader().getResourceAsStream("path"):无论要查找的资源前面是否有"/"都是从classpath的根路径下查找。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JAVA读取绝对路径文件和项目类路径下的文件的方法
JAVA读取绝对路径文件和项目类路径下的文件的方法
80 0
二叉树中和为某一值的路径(剑指offer34 力扣113)Java深度优先遍历
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。
10 0
JAVA:获得当前执行路径的办法
JAVA:获得当前执行路径的办法
34 0
LeetCode:62.不同路径(Java语言)
LeetCode:62.不同路径(Java语言)
18 0
微信小程序之JAVA后台上传图片,并且返回图片路径
微信小程序之JAVA后台上传图片,并且返回图片路径
72 0
JAVA运行时,获取运行路径和JRE路径
JAVA运行时,获取运行路径和JRE路径
27 0
不同路径——动态规划求解(Java实现)
不同路径——动态规划求解(Java实现)
73 0
输入一棵二叉树,判断该二叉树是否是平衡二叉树(Java版)/输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。(Java版)
输入一棵二叉树,判断该二叉树是否是平衡二叉树(Java版)/输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。(Java版)
26 0
第十二届蓝桥杯A组省赛填空题Java思路及代码合集(相乘直线货物摆放路径回路计数)
第十二届蓝桥杯A组省赛填空题Java思路及代码合集(相乘直线货物摆放路径回路计数)
90 0
理解java web项目中的路径问题
理解java web项目中的路径问题
54 0
+关注
developerguy
A code cleanliness code farmers, A programmer concentrate on elegant design, A want to do with the product architect
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载
Java单元测试实战
立即下载