Java如何实现动态获取文件的绝对路径


本文小编为大家详细介绍“Java如何实现动态获取文件的绝对路径”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现动态获取文件的绝对路径”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。我们知道在 Java 中读取一些配置文件信息,是在开发中十分常用的要求。例如:这里我们使用JDBC实例:连接MySQL 数据库,读取连接数据库的用户名,密码。如下是一个名为jdbc.properties的配置文件信息,以及存在目录说明:上述的读取文件的方式,我们可以看到是 “完全没有问题的” 可以读取到对应的配置信息,但是存在一个缺点:就是移除性差。src中是在IDEA这个编译器中体现的,如果是在其它的编译器中运行的时候,很大的可能会报错,原因是:这里我们使用的相对路径是,在IDEA中的,IDEA 中的默认相对路径是 在project下的也就是 src 的同级目录。但是其它的系统,或者编译器就可能不是这个和 IDEA 中默认相对路径了。运行程序时,就有可能会报错:如下:找不到指定的文件。上述这种方式:如果我们不写相对路径,而是写绝对路径的话,也是存在一个问题的。那就是因为该绝对路径是写死了的,不是动态获取的,该路径在 Windows 操作系统中是存在盘符的,所以写绝对路径的时候是需要带上盘符(E盘,D盘的),但是如果该程序是运行在其他操作系统中的话,比如 Linux 操作系统中是没有盘符的说法的。所以就会出问题。无法跨平台。接下来说一种比较通用的一种路径:即使代码换位置了,这样的代码编写的方式仍然是通用的。因为该文件的路径是动态获取的。在Windows中的话,就以该系统的文件规则,动态获取到的绝对路径是带盘符的,而 Linux系统中就以该系统的文件规则,获取到的绝对路径是不带盘符的。 这就可以跨平台了。注意:使用该方式的前提是:所读取的文件必须是在类路径下才行。如果不是在类路径下,运行程序时是会报错:系统找不到指定的路径什么是类路径 ?类路径也是一种特殊的相对路径,只不过它相对的是class文件。在 IDEA 中的类路径是在src目录下的。重点记住它该方式的核心代码:所读取的文件是直接存放在src的目录下的,该文件的并没有其它的的包。如下图所示:可以直接写文件名 + 文件名的后缀即可。通过该方式获取到指定文件的绝对路径,再将该绝对路径,作为参数,创建FileInputStream字节输入流对象也是可以读取到文件中是在src目录下。当所读取的文件,是在src目录下,但是该 src 目录下还有其他的包(目录),则不可以直接写 “文件名+ 文件后缀名”了,而是需要写明该 src 免费云主机域名包(目录)下的 相对路径:如下图所示的文件:该路径名应该是:blogs/blogs8/jdbc.properties举例:上述方式一:我们需要通过 :new 一个 FileInputStream 字节输入流对象的方式,这里我们直接通过指定的文件名的,直接返回一个 InputStream 字节输入流 ,不需要 new 。同样的:该读取的文件必须是在类路径下才行,这里的IDEA的类路径是 src 目录下核心代码如下:举例:上述两个方式可以获取到任意文件的信息。但是以下这个方式三:就只能获取到 类路径下的以.properties后缀的配置文件信息了。java.util包下提供了一个资源绑定器,便于获取属性.properties配置文件中的内容。该资源绑定器:只能绑定xxx.properties配置文件 ,并且这个文件必须在 类路径下,这里的 IDEA 是 src 目录下。并且在写路径的时候,路径后面的扩展名不能写,写了会报错: “。因为既然只能读取 properteis 后缀的文件,那就不用再多余的写文件后缀名了。如果在 src 目录下的子目录中的文件,需要指明是 src 下的哪个子目录下的文件,同样不要写文件后缀名,不然报错。举例:读到这里,这篇“Java如何实现动态获取文件的绝对路径”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: es6如何截取字符串后几位

这篇文章主要讲解了“es6如何截取字符串后几位”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“es6如何截取字符串后几位”吧! 4种方法:1、用“str.charAt(str.length-1)”,可截取字符串后…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/11 22:39
Next 05/11 22:39

相关推荐