博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java工程路径及相对路径(转载)
阅读量:6921 次
发布时间:2019-06-27

本文共 1471 字,大约阅读时间需要 4 分钟。

 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的根路径下查找。

 

转载地址:http://okkjl.baihongyu.com/

你可能感兴趣的文章
【公益】开放一台Eureka注册中心给各位Spring Cloud爱好者
查看>>
pandas基础练习
查看>>
6-pandas索引
查看>>
springmvc rest api和页面访问异常统一处理
查看>>
spring自动装配优先级处理
查看>>
归并排序
查看>>
减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同
查看>>
Two Sum
查看>>
Lucene4.3进阶开发之乱世丛生(二)
查看>>
DIKW模型与数据工程
查看>>
HTML解析原理概括(转载)
查看>>
iOS 计算某个时间到现在是多少月/天/时
查看>>
Git使用详细教程
查看>>
创建自己的 Yum repository
查看>>
云的世界不再免费,最好的cloudfoundryV1已被废弃
查看>>
KeyTool
查看>>
Ubuntu(Linux) 下 unzip 命令使用详解
查看>>
Docker启动容器时的port公开方式,破除一些含糊的地方
查看>>
mongodb增量备份脚本与原理
查看>>
程序员如何快速从“码畜”到“中级水平”需要的10个秘诀
查看>>