java中文件路径怎么赋值_java编程的文件路径问题

前言:今天准备写一个数据库连接池,想着把一些固定的参数,放到外部文件里面,而不用直接相这样,Class.forName("com.mysql.jdbc.Driver");写死在代码里面。于是新建了一个包config,在包里面新建一个dbpool.properties的文件,用来存放一些固定的字符串,然后在DBPool.java中新建一个方法,用于读取properties文件的内容。于是得通过文件路径获取输入流,再通过Properties类的load();方法得到文件内容,文件就来了。

问题:文件的路径改怎么写呢?以前写输入输出流代码的时候,直接就进入系统文件管理器里面找到文件路径就ok了,就想这样,D:\java_src\myeclipse\iShop\src\com\jake\config\dbpool.properties,直接粘到输入流就行了,这样,当然在你的电脑里运行自己写的程序,当然没有问题,可是你的项目如果一旦布置到其他的电脑上,也许路径就不是这样了,甚至布置到其他的系统上,这种路径更是不可能存在了,如何获取文件路径呢?

解决:看到下面的例子就就会明白了,以后这个文件的路径问题就好解决了。

首先这是我的项目结构图,文件在config包里面,而需要在DBPool类里面用上文件里的数据。

74f035f7584e0fc9c7f03da1899c05b1.png

如何用?

然后编写一个方法,叫ini(),把文件里的数据读出来:

public void iniPool(){

InputStream in=DBPool.class.getResource("/com/jake/config/dbPool.properties");

Properties pro=newProperties();

pro.load(in);

String class_name=pro.getProperty("class_name");

}

这样就可以把文件里的键值对取出赋值给变量,后面的文件路径问什么这么写,看下面的图片,相信你就会明白为什么了。

这是我写的测试方法:

其中DBPool.class打印出来是类的包路径,自动调用toString方法打印出来;

getResource(),是为了找到资源文件,如果不存在就返回null;而getResource("")指的是除了类名的前面的路径,而加上"/",则指的是类包的根目录,不管什么类都是这样的,只可能是classes的路径,比如Class类:Class.class.getResource("/")得到的还是项目的classes的目录路径,这样就确保将来如果把项目移到其他的系统上时,路径会更随自己变动,而不是写死的固定路径。

ad32474066f6e9a0327a0ce67ced5cc8.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值