java 读取配置文件的几种方法
项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步
比如我们有以下目录
|--project|--src|--javaapplication|--Test.java|--file1.txt|--file2.txt|--build |--javaapplication|--Test.class|--file3.txt|--file4.txt
在上面的目录中,有一个src目录,这是JAVA源文件的目录,有一个build目录,这是JAVA编译后文件(.class文件等)的存放目录
那么,我们在Test类中应该如何分别获得
file1.txt file2.txt file3.txt file4.txt这四个文件呢?
首先讲file3.txt与file4.txt
file3.txt:
方法一:
File file3 = new File(Test.class.getResource("file3.txt").getFile());
方法二:
File file3 = new File(Test.class.getResource("/javaapplication/file3.txt").getFile());
方法三:
File file3 = new File(Test.class.getClassLoader().getResource("javaapplication/file3.txt").getFile());
file4.txt:
方法一:
File file4 = new File(Test.class.getResource("/file4.txt").getFile());
方法二:
File file4 = new File(Test.class.getClassLoader().getResource("file4.txt").getFile());
很好,我们可以有多种方法选择,但是file1与file2文件呢?如何获得?
答案是,你只能写上它们的绝对路径,不能像file3与file4一样用class.getResource()这种方法获得,它们的获取方法如下
假如整个project目录放在c:/下,那么file1与file2的获取方法分别为
file1.txt
方法一:
File file1 = new File("c:/project/src/javaapplication/file1.txt");
方法二:。。。没有
file2.txt
方法一:
File file2 = new File("c:/project/src/file2.txt");
方法二:。。。也没有
重点注意地方:
总结一下,就是你想获得文件,你得从最终生成的.class文件为着手点,不要以.java文件的路径为出发点,因为真正使用的就是.class,不会拿个.java文件就使用,因为java是编译型语言嘛
至于getResouce()方法的参数,你以class为出发点,再结合相对路径的概念,就可以准确地定位资源文件了,至于它的根目录嘛,你用不同的IDE build出来是不同的位置下的,不过都是以顶层package作为根目录,比如在Web应用中,有一个WEB-INF的目录,WEB-INF目录里面除了web.xml文件外,还有一个classes目录,没错了,它就是你这个WEB应用的package的顶层目录,也是所有.class的根目录“/”,假如clasaes目录下面有一个file.txt文件,它的相对路径就是"/file.txt",如果相对路径不是以"/"开头,那么它就是相对于.class的路径。。
还有一个getResourceAsStream()方法,参数是与getResouce()方法是一样的,它相当于你用getResource()取得File文件后,再new InputStream(file)一样的结果。getResource().getFile()得到的是文件的string,例如可以这么写:
File file = new File(Demo01.class.getResource("/a.properties").getFile());
而getResourceAsStream()方法返回的是一个inputStream,例如可以这么写:
InputStream in = Demo01.class.getResourceAsStream("/a.properties");
java 读取配置文件的几种方法相关推荐
- java读取配置文件的几种方法
在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring读取配置文件的方法. 一.读取xml配置 ...
- java加载xml配置文件_java读取配置文件的几种方法
原标题:java读取配置文件的几种方法 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置文件来完成,本文根据笔者工作中用到的读取配置文件的方法小小总结一下,主要叙述的是spring ...
- Java读取配置文件的五种方式
目录 一.ServletContext获取真实路径 二.通过ResourceBundle类获取配置文件资源 三.ClassLoader方式读取 四.使用Sping提供的PropertiesLoader ...
- 用Java读取文件的5种方法-BufferedReader,FileInputStream,文件,扫描仪,RandomAccessFile
There are many different ways to read a file in Java. In this tutorial, we will look into 5 differen ...
- Spring读取配置文件的几种方法(从0开始)
新建一个Maven空项目 新建配置文件 在src -> main下新建一个资源目录resources,然后在该资源目录下新建一个application.properties文件. #自定义内容 ...
- java遍历文件和归类_java读取文件的两种方法:java.io和java.lang.ClassLoader
java读取文件的两种方法:java.io和java.lang.ClassLoader 什么时候使用java.io,什么时候使用java.lang.ClassLoader呢? (注:要是之前读xml文 ...
- java 读取配置文件工具_java读取配置文件信息properties的工具类
java读取配置文件信息properties的工具类,介绍一个工具PropertyReader.java,读取项目配置文件信息 package mymail; import java.io.File; ...
- java解析xml的三种方法
java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax;import org.xml.sax.Attributes; import org.xml.sax.SAXEx ...
- java读取配置文件详解
目录 使用类加载器加载配置文件 ServletContext方式 读取web.xml配置 前言: 1 这是一个java读取配置文件的方法集合,只有常见的方式 2 围绕的内容大部分是读取properti ...
- Java 键盘输入的三种方法
Java 键盘输入的三种方法 1.System.in和System.out方法:从控制台接收一个字符,然后将其打印出来 虽然此方式实现了从键盘获取输入的字符,但是System.out.read()只能 ...
最新文章
- 终于有人把Python讲清楚了!
- python字符串删除,列表删除以及字典删除的总结
- 取input 输入_tensorRT动态输入(python)
- 一些著名的大公司JAVA面试题目
- 关于Tomcat5.5中EL表达式无效的解决办法
- jvm垃圾回收机制_干货|JVM垃圾回收机制
- 复数基础—— i = 根号 -1 _3
- android的子菜单是否支持嵌套,Android的两种菜单
- VC9、VC11、VC14、VC15库 最新下载链接
- Android访问assets本地Json文件
- 数据分析|基础概念/excel/tableau自学笔记
- 和极有家一起玩转智能家居——极有家未来之家合作招募
- 人脸识别实践(2) - 人脸识别系统展示
- Huffman Tree
- 最后几张票,送完即止:KubeCon 2021中国大会
- 康姿百德 “神奇”床垫包治百病是谣传
- 【操作系统】“哲学家进餐”问题
- 关于Symantec(赛门铁克)认证服务
- 史上最全CCA Spark and Hadoop Developer (CCA175) 开发者认证考试信息
- POJ3208魔鬼数