Java获取文件的路径及常见问题解决方案

作者:岑宇 时间:2023-04-16 04:24:15 

在java中读取读取文件,经常因为路径的问题找不到,此文用于记录如何定位文件的简单方法。

本基于springboot做的测试,主要是构建工程方便,所用的方法都是JDK中的方法,主要测试有”/“和没有""的问题,以及getResourceAsStream(String string)和getResource(String string)的问题。

1.项目结构

Java获取文件的路径及常见问题解决方案

解释一下,主要有两个配置文件,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路径。

来源:https://www.cnblogs.com/cenyu/p/10339745.html

标签:java,获取,文件,路径
0
投稿

猜你喜欢

  • 详解Spring整合Ehcache管理缓存

    2022-02-10 00:50:17
  • Android蓝牙通信编程

    2023-06-24 04:37:48
  • Java Volatile 变量详解及使用方法

    2023-03-13 13:27:10
  • android studio生成aar包并在其他工程引用aar包的方法

    2021-07-23 21:28:30
  • Android 通过Base64上传图片到服务器实现实例

    2021-10-09 20:46:53
  • C#图表算法之有向图

    2021-11-25 14:50:57
  • ShardingSphere jdbc集成多数据源的实现步骤

    2023-11-25 07:54:56
  • android中强制更新app实例代码

    2023-05-23 18:42:34
  • android如何改变editText控件中部分文字的格式

    2023-08-24 18:58:36
  • Java String的intern用法解析

    2023-04-22 19:03:35
  • 详解Android Lint的原理及其使用

    2022-12-23 16:05:47
  • Java中Optional类及orElse方法详解

    2022-07-12 03:21:36
  • 实例解析JAVA中代码的加载顺序

    2021-10-26 14:57:22
  • Android自定义控件实现手势密码

    2023-12-23 20:45:57
  • C#中使用split分割字符串的几种方法小结

    2023-06-18 17:23:21
  • Java并发编程之对象的共享

    2023-01-09 15:18:18
  • Android Flutter实战之为照片添加颜色滤镜

    2023-05-17 01:27:12
  • Java编程调用微信接口实现图文信息推送功能

    2023-11-25 07:20:47
  • 优化spring boot应用后6s内启动内存减半

    2021-09-13 02:47:59
  • Java之int和string类型转换详解

    2023-11-06 04:10:06
  • asp之家 软件编程 m.aspxhome.com