java中读取文件路径问题
2015-08-28 17:16
483 查看
在读配置文件的时候,遇到找不到该文件。明明就在这里,相对位置也对了,怎么就是找不到了呢。下面来解惑: 我们知道,在java中读取文件至少有以下两种方式,我这里指的是本地文件,网络流不计在内。
方式一: File file = new File(path); FileInputStream fis = new FileInputStream(file);
方式二: FileInputStream fis = 所在文件类名.class.getResourceAsStream(path);
背景描述:我有一个配置文件weixin.properties,直接放在src下。现在我要在 com.hww.path.FilePathTest 这个类中来读取 weixin.properties这个文件。
//使用第一种方式: //路径是相对于所在项目的,是文件路径,是磁盘中的位置。故路径前面要加上src。 File file = new File("src/weixin.properties"); FileInputStream in = new FileInputStream(file);
//使用第二种方式 //相对路径就变成了bin(确切叫classpath)路径下的类路径了 //根路径就是classpath了,也就是编译路径了 InputStream ins1 = FilePathTest.class.getResourceAsStream("../../../weixin.properties"); InputStream ins2 = FilePathTest.class.getResourceAsStream("/weixin.properties"); //我们可以通过下面的方法打印出路径来 String url1 = FilePathTest.class.getResource("/").getPath(); System.out.println(url1); //输出: /E:/workspace/JavaNet/bin/ String url2 = FilePathTest.class.getResource(".").getPath(); System.out.println(url2); // 输出:/E:/workspace/JavaNet/bin/com/hww/path/
另外补充一下,根路径(/)是不能用File.separator表示。只能用于分割之间。
如图:
相关文章推荐
- java垃圾回收算法
- 一台电脑安装2个不同版本的jdk
- Java 验证密码复杂度的正则表达式
- spring security的基本模块
- java 日期转换
- MyEclipse项目转eclipse
- Spring MVC 使用highcharts创建图表
- Spring MVC 使用highcharts创建图表
- Java笔记:对象,方法,类
- eclipse debug on server 太卡的解决方法
- java 死锁问题 代码实现
- Eclipse 注释模板 函数注释 类注释 文件注释 Code Template - 2
- Intellij Idea 创建JavaWeb项目
- eclipse界面语言切换
- Eclipse 注释模板 函数注释 类注释 文件注释 Code Template - 1
- java之学习多线程(四)
- Java笔记学习总结(五)
- 框架整合笔记spring+mybatis+others
- eclipse中的Java项目引入jar包直接在根目录下
- Springmvc 传递参数