Java中Jar包内文件的读取
作者:网络转载 发布时间:[ 2013/2/1 9:59:12 ] 推荐标签:
近遇到一些Jar包内外配置文件读取的问题。索性自己测试总结一下,与大家分享。
路径文件读取,简单,直接的方式
/**
* 从路径读取文件,基本的文件读取方式
*
* @author lihzh
* @data 2012-4-11 下午9:33:44
*/
@Test
public void testGetFileFromAbsolutePath() {
String dirPathNotUnderClasspath = "D:\workspace-home\JavaDemo\conf";
File dirFile = new File(dirPathNotUnderClasspath);
AssertDirFile(dirFile);
}
/**
* 对文件夹类型文件的断言
*
* @param dirFile
* @author lihzh
* @data 2012-4-11 下午9:49:14
*/
private void AssertDirFile(File dirFile) {
// 文件存在
Assert.assertTrue(dirFile.exists());
// 是路径
Assert.assertTrue(dirFile.isAbsolute());
// 是个文件夹
Assert.assertTrue(dirFile.isDirectory());
// 获取文件夹下所有文件
File[] files = dirFile.listFiles();
// 下面有文件
Assert.assertNotNull(files);
// 且只有一个
Assert.assertEquals(1, files.length);
// 文件名匹配
Assert.assertEquals("test.properties", files[0].getName());
}
相对于执行编译命令路径的方式读取
/**
* 从相对路径读取文件,相对于编译路径,在Eclipse中即为工程所在根目录。 本质还是绝 * 对路径读取。
*
* @author lihzh
* @data 2012-4-11 下午9:51:10
*/
@Test
public void testGetFileFromRelativePath() {
String dirPath = System.getProperty("user.dir") + "\conf";
File dirFile = new File(dirPath);
AssertDirFile(dirFile);
}
用URI构造本地文件读取
/**
* 构造URI/URL格式的文件路径,读取本地文件
*
* @author lihzh
* @throws URISyntaxException
* @throws MalformedURLException
* @data 2012-4-11 下午10:25:00
*/
@Test
public void testGetFileFromURIPath() throws URISyntaxException,
MalformedURLException {
// 直接用URI构造, 由于URI和URL可以互转,所以如果为URL直接用URL.toURI转换成URI即可
URI uri = new URI("file:/D:/workspace-home/JavaDemo/conf/");
File dirFile = new File(uri);
AssertDirFile(dirFile);
}
特别说明:用URI/URL的方式构造路径是个人比较推荐的,可以解决一些路径读取的问题。例如:Spring会对URI/URL格式的路径进行专有处理可以准确定位的位置,而直接使用路径,在用Classpath和FileSystem两种不同的初始化方式下,可能会出现错误。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11