转自:https://www.cnblogs.com/wt20/p/8320346.html
项目经常会读取一些配置文件, 因此getResource方法便能够起到重要作用
使用时主要是两种方法, 一个是字节码文件Class类, 另一个是ClassLoader类加载器
使用Class类时有两种使用方式:
1. 使用"/" 获取到的是classpath路径
2. 不使用"/" 这就是相对路径
ClassLoader类
没有"/"的写法, 获取到的就是classpath路径
测试代码
public class GetResourceTest { public static void main(String[] args) { System.out.println(GetResourceTest.class.getResource("/test.properties").getPath()); System.out.println(GetResourceTest.class.getResource("test1.properties").getPath()); System.out.println(GetResourceTest.class.getClassLoader().getResource("test.properties").getPath()); System.out.println(GetResourceTest.class.getClassLoader().getResource("/")); } }
结果:
/E:/IdeaJava/studyTest/out/production/studyTest/test.properties
/E:/IdeaJava/studyTest/out/production/studyTest/com/waston/Test/test1.properties
/E:/IdeaJava/studyTest/out/production/studyTest/test.properties
null
工程包结构
以上为https://www.cnblogs.com/wt20/p/8320346.html博主所写
最近在做项目时需要对数据库的历史数据进行处理,由于对oracle数据库的定时任务不熟悉所以使用Java编写了一个定时任务
在程序中需要读取一个ctl文件,但是,如果给定目录的话,给客户运行时可能由于文件放在位置出错而不能读取到文件,尝试使用虚拟路径,没有成功,在网上搜到使用此方法可以获取到目录,尝试使用,成功。
原文地址:https://www.cnblogs.com/qinshou/p/8999204.html
时间: 2024-10-06 06:37:04