steam想申明库存量,不晓得在哪里去增设,那个出口处是稍稍有点儿深,由此可见毕竟也很单纯,一起来看一看什么样操作方式。操作方式方式01登入steam后,点选街道社区旁的对个人......
2024-02-05 559
使用FileReader如何读取项目配置文件
Java程序创建配置文件的目的是便于程序的修改和维护,程序需要的全局数据都可以存储到配置文件中,程序运行后可以直接读取配置文件获取全局数据,当需要修改全局数据时,只需要修改配置文件就可以了,而无需修改代码。
在前面一节中,我们使用FileWriter创建了一个数据库配置文件,该配置文件主要用于存储数据库连接地址、数据库访问账号和密码。当程序需要连接数据库时,可以从配置文件中读取数据库的连接地址、访问账号和密码。这样做的好处是可以确保连接数据库所需要的数据是唯一的,如果数据改变了,仅需修改配置文件即可,所有涉及到连接数据库的代码都无需修改。
编程案例
本次编程任务的要求是读取前面一节创建的配置文件myproperty.txt,该配置文件结构如下:
jdbc.url=jdbc:mysql://192.168.50.25:3306
jdbc.username=root
jdbc.password=123456
在上面的文件结构中,jdbc.url、jdbc.username、jdbc.password为配置文件的属性名称,其等号右边的内容为属性的值。要求案例程序不仅要读出配置文件内容,还要识别出属性和属性值。
编程探讨
依据编程案例给出的任务要求,首先要读取配置文件内容,并识别出配置文件内容的属性和属性值。
读取配置文件内容,可以考虑使用FileReader类,FileReader类是字符输入类,它的构造方法同FileInputStream相同,也提供了四个常用的构造方法。分别说明如下:
场景1:应用File对象,实例化一个FileReader对象
FileReader (File file);
场景2:应用给出的文件路径,实例化一个FileReader对象
FileReader (String fileName);
本案例为读取配置文件,采用FileReader (String fileName)构造方法,直接传入配置文件路径。
FileReader对象实例化后,可以使用FileReader提供的读取方法,读取配置文件内容。FileReader类提供了两种读取方法,说明如下:
● public int read() throws IOException
该方法用于读取单个字符,返回int类型,该int类型表示字符。
● public int read(char [] c, int offset, int len) throws IOException
该方法用于从文件的offset位置开始,读取len个字符到数组c,返回读取的字符数。
FileReader并没有提供按行读取文本内容的方法,因此我们需要实现一个按行读取文本内容的函数,该函数从文件中循环读取单个字符,并赋值给String对象,当读取到换行符时,结束读取,返回String对象。
另外,程序还需要一个识别属性和值的函数,该函数识别传入的字符串对象,调用String类的Split方法,用’=’号做分割符,识别出配置文件的属性和值。识别出的属性和值存储到HashMap集合中,其属性为HashMap的key,值为HashMap的value。
编程实现
程序实现涉及到类有FileReader类、File类、String类和HashMap集合类。其实现过程如下图所示:
上面所示的流程图中,按行读取和识别属性和值框分别为程序要实现的函数。
readLine函数按行读取配置文件的内容,函数循环读取文件中的单个字符,当字符为\r或\n时,程序判断遇到了行结束符,返回已读取的字符串。
split函数用于识别配置文件的属性和值,并将属性和值加入到map集合中,因为配置文件中的属性和值用等号分割,因此应用String类的split方法将字符串用等号分割为包含两个元素的字符串数组,数组的第一个元素为属性,第二个元素为值。
程序最后遍历map集合,输出配置文件的属性和值。程序输出结果如下图所示:
知识点拨
FileReader主要是读取文本类文件,可以读取单个字符,也可以将多个字符读取到一个字符数组中。遗憾的是,FileReader没有提供按行读取的方法,如果需要按行读取,需要自己实现按行读取方法。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
steam想申明库存量,不晓得在哪里去增设,那个出口处是稍稍有点儿深,由此可见毕竟也很单纯,一起来看一看什么样操作方式。操作方式方式01登入steam后,点选街道社区旁的对个人......
2024-02-05 559
操作方式方法01【辅助widget】多种辅助工具相连接两个功能键的可同时按【Shift】加此功能键挑选出1、正方形、圆锥选框辅助工具 【M】 2、终端辅助工具 【V】 3、截叶......
2024-02-05 501
操作方式01文档格式难题qq肖像最合适用jpeg文档格式的相片,若是相片有透明化地下通道,能选用png文档格式上载。 02大小不一难题若是相片极重也可能将引致上载失利,检......
2024-02-05 421