普通java项目、maven项目读取文件的路径问题

普通的java项目路径:
案例1:创建的一个resourcefloder文件夹config

类加载器:只要是在src目录下的文件都可以加载到,也就是加载类路径下的文件(bin目录),getClassLoader().getResourceAsStream。

mybatis的resource也是加载类路径下的文件,前提需要导入mabatis的jar包。

由于创建的一个resourcefloder文件夹config,所以对应的文件路径:

获取文件的方式:

InputStream inputStream = new FileInputStream(“config/sqlMapConfig.xml”);

或者

InputStream inputStream =Resources.getResourceAsStream(“sqlMapConfig.xml”);

或者

InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(“sqlMapConfig.xml”);

案例2:创建的一个floder文件夹file
对应的文件目录:

获取文件的方式:

InputStream inputStream = new FileInputStream(“file/sqlMapConfig.xml”);

类加载器只能加载类路径下的文件,所以这里不能用类加载器加载

maven项目:
mybatis的resource.getResourceAsStream(“路径+文件”);

getResourceAsStream获取的路径是类加载路劲,

所以如果是maven项目,加载路径就是 target/class,和target/test-class.

案例1:maven项目获取图中的xml文件

首先文件在src/main/java/…下面,所以测试类mybatisTest执行的时候,类加载路径target/class,

所以获取xml代码就是:

InputStream inputStream = new FileInputStream(“src/main/java/test/sqlMapConfig.xml”);

或者

InputStream inputStream = Resources.getResourceAsStream(“test/sqlMapConfig.xml”);

案例2:如果xml直接在src/main/resources下面
对应文件位置:

获取代码就是:

InputStream inputStream = new FileInputStream(“src/main/resources/sqlMapConfig2.xml”);

或者磁盘绝对路径:

InputStream inputStream = new FileInputStream(“D:/bos2.0/mybatis- demo1/target/classes/sqlMapConfig2.xml”);

或者

InputStream inputStream = Resources.getResourceAsStream(“sqlMapConfig2.xml”);

xml文件放在 src/test/java 、 src/test/resources 和上面类似

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值