当前位置: 首页 > wzjs >正文

宜都网站建设北京百度关键词排名

宜都网站建设,北京百度关键词排名,石家庄搭建公司,软件项目设计方案概念 Java中的Properties文件是一种配置文件,主要用于表达配置信息,格式是文本文件。该类主要用于读取Java的配置文件,也可以对properties文件进行修改 属性配置:以“键值”的方式书写一个属性的配置信息 注 释:在pro…

在这里插入图片描述

概念

Java中的Properties文件是一种配置文件,主要用于表达配置信息,格式是文本文件。该类主要用于读取Java的配置文件,也可以对properties文件进行修改

属性配置:以“键=值”的方式书写一个属性的配置信息
注 释:在properties文件中,可以用“#”来注释

在这里插入图片描述


为什么需要Properties类?

将一些固定修改的内容放到Properties文件,如果我们将这些内容放到程序里面(比如:账号、密码),假如说这些内容需要改变,意味着需要对源程序进行修改(修改源码);当再次运行的时候,需要进行重新编译或运行在第三方(当程序工程量大的时候,会浪费大量资源,灵活性差)

Properties类可以很轻松的理解和修改它们


传统的方法(不使用Properties类)

split方法是String类中,用于分割字符串,将分割的字符串变成字符串数组

test.Properties文件的内容

ip=192.168.1.100
user=root
pwd=123456

读取test.properties文件,并获取相应的ip user pwd

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;public class Properties01 {public static void main(String[] args) {       BufferedReader bufferedReader = null;try {bufferedReader = new BufferedReader(new FileReader("src\\test.properties"));String line = "";while ((line = bufferedReader.readLine()) !=null){String[] split = line.split("=");System.out.println(split[0]+"值是:"+split[1]);}} catch (IOException e) {e.printStackTrace();} finally {try {bufferedReader.close();} catch (IOException e) {e.printStackTrace();}}}
}

控制台输出如下:
ip值是:192.168.1.100
user值是:root
pwd值是:123456

传统方法解决并不是很方便,需要遍历循环,如果要获取文件中指定的某个内容,这时候需要用到Properties类

Properties

Properties 继承于 Hashtable。表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。

  • 专门用于读取配置文件的集合类
    配置文件格式:
    键=值
    键=值
  • 键值对不需要由空格,值不需要用引号括起来,默认类型是String

在这里插入图片描述

该类提供了两个构造器
在这里插入图片描述
常见Properties调用方法

  • load:加载配置文件的键值对到Properties对象
    在这里插入图片描述

  • list:将数据显示到指定设备
    在这里插入图片描述

  • getProperties(key):根据键获取值

  • setProperties(key,value):设置键值对到Properties对象

  • store:将Properties中的键值对存储到配置文件中(如果已存在则覆盖),在IDEA编译器中,保存信息到配置文件,如果含有中文,会存储Unicode编码格式
    在这里插入图片描述

编码查询工具网站

更多具体方法可在JDK文档或百度进行查看

示例
1.演示使用Properties类读取test.properties文件的内容

import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;public class Properties02 {public static void main(String[] args) {//创建Properties对象Properties properties = new Properties();//加载指定的配置文件try {properties.load(new FileReader("src\\test.properties"));//把键值对显示到控制台properties.list(System.out);System.out.println("===根据键获取对应的值===");System.out.println(properties.getProperty("ip"));} catch (IOException e) {e.printStackTrace();}}
}

– listing properties –
user=root
pwd=123456
ip=192.168.1.100
=根据键获取对应的值=
192.168.1.100

2.使用Properties类添加键值对到文件test.properties中

import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;public class Properties03 {public static void main(String[] args) {Properties properties = new Properties();properties.setProperty("charset", "UTF-8");properties.setProperty("user", "jack");properties.setProperty("pwd", "123456");try {properties.store(new FileWriter("src\\test.properties"), null);//第二个参数,表示注释信息(null表示没有注释)System.out.println("保存配置文件成功");} catch (IOException e) {e.printStackTrace();}}
}

此时test.properties文件的内容为
#Tue Jan 17 18:31:36 CST 2023
user=jack
pwd=123456
charset=UTF-8
注意:如果保存的内容是中文,则存放的格式是Unicode编码

3.完成对test.properties文件的读取,并修改某个键值对

注意:使用setProperty方法,如果key不存在则创建,反之存在,则修改

import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;public class Properties04 {public static void main(String[] args) {Properties properties = new Properties();properties.setProperty("charset", "UTF-8");properties.setProperty("user", "jack");properties.setProperty("pwd", "123456");properties.setProperty("user", "tom");properties.setProperty("pwd", "888888");try {properties.store(new FileWriter("src\\test.properties"), null);System.out.println("保存配置文件成功");} catch (IOException e) {e.printStackTrace();}}
}

此时文件内容为:
#Tue Jan 17 18:45:04 CST 2023
user=tom
pwd=888888
charset=UTF-8

setProperty操作时底层源码(父类Hashtable中的方法,可忽略)
在这里插入图片描述

public synchronized V put(K key, V value) {// Make sure the value is not nullif (value == null) {throw new NullPointerException();}// Makes sure the key is not already in the hashtable.Entry<?,?> tab[] = table;int hash = key.hashCode();int index = (hash & 0x7FFFFFFF) % tab.length;@SuppressWarnings("unchecked")Entry<K,V> entry = (Entry<K,V>)tab[index];for(; entry != null ; entry = entry.next) {if ((entry.hash == hash) && entry.key.equals(key)) {V old = entry.value;entry.value = value;return old;}}addEntry(hash, key, value, index);return null;
}

http://www.dtcms.com/wzjs/341440.html

相关文章:

  • 网站的工作简报怎么做百度贴吧广告投放
  • 猎聘网网站谁做的成都seo工程师
  • 渭南网站建设风尚网络全网营销平台有哪些
  • 网站的联系我们怎么做太原网站制作推广
  • 正邦设计上海分公司天津企业seo
  • 用vue做pc端网站好吗邮件营销
  • pandorabox做网站郑州全域静态管理
  • 迅驰互联网站建设网络推广怎么样百度竞价登录
  • 做视频网站需要多大的带宽疫情最新数据消息地图
  • 换物网站为什么做不起来微信公众号软文怎么写
  • 虚拟主机怎么设计网站吗最新引流推广方法
  • Dedecms 手机网站示例google搜索优化
  • 静安区营业执照办理地点武汉seo招聘网
  • html怎么做网站后台网站推广优化外链
  • 温州建设企业网站seo推广方法
  • 网站建设团购手机系统优化工具
  • 做外汇都要看什么网站seo优化方案报价
  • 手机端网站源码最近的新闻有哪些
  • 做的好看的网站现在疫情怎么样了最新消息
  • 创建好网站如何把浏览器品牌策划方案ppt
  • 网站推送怎么做谷歌商店paypal官网
  • 电商平台的营销策略搜索引擎优化技术都有哪些
  • 织梦网站被植入广告网络公司网站模板
  • 手机网站推广怎么做公司网站注册流程和费用
  • 四川建设厅电话网站苹果自研搜索引擎或为替代谷歌
  • 织梦禁止网站右击uc浏览网页版进入
  • 优化软件是什么意思台州网站seo
  • 网站建设合同 果动.l官方进一步优化
  • 楼盘怎么在网站上做推广软件推广平台
  • 如何看网站是不是织梦做的百度手机助手app下载