Java获取文件的路径及常见问题解决方案
2020-03-28 12:45
1601 查看
在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。
本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有”/“和没有""的问题,以及getResourceAsStream(String string)和getResource(String string)的问题。
1.项目结构
解释一下,主要有两个配置文件,a.properties和b.properties,a.properties方法java的代码里,b.properties放在resources的配置目录中。
编译之后,classpath的路径为:target/classes,斜线"/"指的也是这个路径,所有,如果有斜线就会去这个路径下面去找,如果没有斜线,就会去那个类的当前坐在路径去找。
2.例子
public class TestPath { public static void main(String[] args) { TestPath t = new TestPath(); //在当前TestPath类所在的包查询 InputStream a = t.getClass().getResourceAsStream("a.properties"); //在classpath路径下进行查询 InputStream b = t.getClass().getResourceAsStream("/b.properties"); //在当前TestPath类所在的包查询 URL url_a = t.getClass().getResource("a.properties"); //在classpath路径下进行查询 URL url_b = t.getClass().getResource("/b.properties"); System.out.println(); } }
以上,两个方法都可以用来定位文件,区别有两个:
- 有没有斜线,没有斜线的话在类方法的所在package中查询,如果有斜线,就去classpath下面查询
- 返回值,getResourceAsStream()返回的是InputStream,可以直接读取。getResource()返回的是URL对象,方便获取文件的path路径。
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- java取得项目工程---获取文件的相对路径问题---getResource()和getResourceAsStream以及路径问题
- java取得项目工程---获取文件的相对路径问题---getResource()和getResourceAsStream以及路径问题
- 【java常见问题】——如何获取文件的属性信息?
- Java图形界面(GUI) 动态获取上传或下载文件的路径问题
- IE8下服务端获取客户端文件的路径为C:/fakePath问题的解决方案
- java获取文件路径问题
- 完美解决Java获取文件路径出现乱码的问题
- Java或者JAR包获取读取资源文件的路径的问题总结
- java获取文件路径的问题
- Java或者JAR包获取读取资源文件的路径的问题总结
- java获取classpath文件路径空格转变成了转义字符%20的问题解决 !
- Java 获取jar包中工程下的文件路径的问题
- 关于Java获取带空格的文件路径问题
- Java 中获取资源(文件)的路径问题总结
- Java或者JAR包获取读取资源文件的路径的问题总结
- Java或者JAR包获取读取资源文件的路径的问题总结
- 解决Java获取文件路径出现乱码的问题
- jsp页面中引入文件路径问题的解决方案(使用request获取项目路径)【原创】
- java获取classpath文件路径空格转变成了转义字符%20的问题
- ASP 包含文件中的路径问题和使用单一数据库连接文件的解决方案