java对文件的操作详解_Java 对 Properties 文件的操作详解及简单实例

Java 对 Properties 文件的操作详解及简单实例

发布于 2020-8-7|

复制链接

摘记: Java 对 Properties 文件的操作简介在 Java 中,我们常用 java.util.Properties.Properties 类来解析 Properties 文件,Properties 格式文件是 Java 常用的配置文件,它用来在文件中存储键-值对,其中键和值用等号分隔,格 ..

Java 对 Properties 文件的操作简介在 Java 中,我们常用 java.util.Properties.Properties 类来解析 Properties 文件,Properties 格式文件是 Java 常用的配置文件,它用来在文件中存储键-值对,其中键和值用等号分隔,格式如下:

```java

name=shawearn

```

Properties 类是 java.util.Hashtable 的子类,用于键和值之间的映射。在对 Properties 格式文件的操作中,我们常使用 Properties 类的一下方法:Properties():用于创建一个无任何属性值 Properties 对象;

void load(InputStream inStream):从输入流中加载属性列表;

void store(OutputStream out, String comments):根据输出流将属性列表保存到文件中;

String  getProperty(String key):获取指定键的值;

void setProperty(String key, String value):设置指定键的值,若指定键已经在原属性值列表中存在,则覆盖;若指定键在原属性值列表中不存在,则新增;

写入 Properties 文件:

```java

// 创建一个 Properties 实例;

Properties p = new Properties();

// 为 Properties 设置属性及属性值;

p.setProperty("name", "shawearn");

p.setProperty("address", "XX 省 XX 市");

// 保存 Properties 到 shawearn.properties 文件中;

FileOutputStream out = new FileOutputStream("shawearn.properties");

p.store(out, "Create by Shawearn!");

out.close();

```

读取 Properties 文件:

```java

// 创建一个 Properties 实例;

Properties p = new Properties();

// 读取配置文件;

FileInputStream in = new FileInputStream("shawearn.properties");

// 加载配置文件到 Properties 实例中;

p.load(in);

in.close();

```

最后附上测试代码:

```java

package com.shawearn.test;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Properties;

import java.util.Set;

/**

* @author Shawearn

*

*/

public class TestProperties {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

TestProperties t = new TestProperties();

// 测试写入;

t.testWrite();

// 测试读取;

t.testRead();

}

/*

* 测试对 Properties 文件的写入操作;

*/

private void testWrite() throws IOException {

// 创建一个 Properties 实例;

Properties p = new Properties();

// 为 Properties 设置属性及属性值;

p.setProperty("name", "shawearn");

p.setProperty("address", "XX 省 XX 市");

// 保存 Properties 到 shawearn.properties 文件中;

FileOutputStream out = new FileOutputStream("shawearn.properties");

p.store(out, "Create by Shawearn!");

out.close();

System.out.println("写入成功!");

}

/*

* 测试对 Properties 文件的读取操作;

*/

private void testRead() throws IOException {

// 创建一个 Properties 实例;

Properties p = new Properties();

// 读取配置文件;

FileInputStream in = new FileInputStream("shawearn.properties");

// 加载配置文件到 Properties 实例中;

p.load(in);

in.close();

// 获取 Properties 文件中所有的 key;

Set keys = p.stringPropertyNames();

// 遍历所有的 key;

for (String key : keys) {

// 获取 Properties 文件中 key 所对应的 value;

Object value = p.get(key);

// 输入 key 和对应的 value;

System.out.println(key + " => " + value);

}

}

}

```

控制台输出结果:

```java

address => XX 省 XX 市

name => shawearn

```

shawearn.properties 文件内容:

```java

#Create by Shawearn!

#Thu Nov 19 12:43:41 CST 2015

name=shawearn

address=XX \u7701 XX \u5E02

```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306170.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目录 | 数据结构与剑指Offer系列推文合集

【目录合集】| 作者 / Edison ZhouC#刷数据结构剑指Offer不知不觉,C#刷剑指Offer的系列推文就结束了,今天就把它们整理成目录合集。此外,考虑到剑指Offer和数据结构的关联,建议没有数据结构基础的童鞋先看看数据结构,再…

mysql数据库5120_超傻瓜 H3C S5120 限速配置

1出方向限速system-viewinterface GigabitEthernet ?/?/? (?是所要限制的端口号)qos lr outbound cir 数字 (cir是速率的意思,数字是kbps,如果按字节需要x8转换,必须是16的整数倍)出方向配置完毕2入方向限速1.system-viewacl n…

ricky java photos_【Melee】Ricky blog updates and new photos

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼Blog FirstThursday, August 21, 2008Celebrate!Ok, so my computer is finally back in full swing, but sadly, Im missing a couple weeks of updates, which will be slightly complicated, racking my brain to remember, but…

Abp vNext异常处理的缺陷/改造方案

之前吐槽Abp的用户/租户管理模块!今天我又来了,这次我给Abp官方repo提了一个issue。目前Website使用Abp vNext开发,免不了要全局处理异常、提示服务器异常信息。1. Abp官方异常处理Abp项目默认会启动内置的异常处理,默认不将异常信…

java原生的编译软件_Java 转原生平台代码 RoboVM

软件介绍编者注:RoboVM 项目已经关闭,目前有开源替代产品BugVM。RoboVM 编译器可以将 Java 字节码翻译成 ARM 或者 x86 平台上的原生代码,应用可直接在 CPU 上运行,无需其他解释器或者虚拟机。RoboVM 同时包含一个 Java 到 Object…

开源项目葫芦藤:IdentityServer4的实现及其运用

前言本篇文章主要是讲解葫芦藤项目中对IdentityServer的实践使用,为了使您对本篇文章中所讲述的内容有深刻的认识,并且在阅读时避免感到乏味,文中的内容不会涉及太多的基础理论知识,而更多的是采用动手实践的方式进行讲解&#xf…

facade java_Java设计模式之Facade模式

Java设计模式之Facade模式 GOF《设计模式》一书对Facade模式是这样描述的:为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。大致意思是说:使用一种比原有方式更简单的办法与系统交互。例如,…

如何在 ASP.NET Core Web API 中以三种方式返回数据

在 ASP.NET Core 中有三种返回 数据 和 HTTP状态码 的方式,最简单的就是直接返回指定的类型实例,如下代码所示:[ApiController][Route("[controller]")]public class WeatherForecastController : ControllerBase{[HttpGet]public …

java io 读取多个对象_Java IO系列(五):读写对象ObjectOutputStream和ObjectInputStream详解...

有必要多看几遍的关于字符和字节,例如文本文件,XML这些都是用字符流来读取和写入。而如RAR,EXE文件,图片等非文本,则用字节流来读取和写入。读写对象,传输对象在Java中很常使用,在javaBean中就经…

Dotnet Core多版本API共存的优雅实现

API升级,新旧版本的API共存,怎么管理呢?一、前言最近,单位APP做了升级,同步的,API也做了升级。升级过程中,出现了一点问题:API升级后,旧API也需要保留,因为有…

java 文件监听器_java7 文件监听器

java7中的文件监听,主要可以监听指定目录下的文件:新建 删除 修改等操作。StandardWatchEventKinds.ENTRY_MODIFY,StandardWatchEventKinds.ENTRY_CREATE,StandardWatchEventKinds.ENTRY_DELETE 这三个事件 被注册到watchService 对象中,之后…

Beetlex之websocket/tls服务压测工具

为了方便压力测试ws服务,Beetlex同样提供相关工具来对ws/wss服务的性能进行测试测试。安装可以访问https://github.com/beetlex-io/TCPBenchmarks 下载最新版本工作,工具可以运行在linux和windows系统,安装完成后通过浏览器访问相关服务进行操…

php判断数组下标,php判断json或者数组格式与给定格式是否一致

开发的时候碰到个问题,我们技术人员规定了录数据的格式,例如:我们的json模板如下:{"sentence":"Martin and Kelvin went to Chengduon holiday. They are ordering in a rest aurant now but cannot read the char…

php 设置excel格式,php 操作excel文件的方法小结

用php生成excel文件的方法,单独就是用的php,注意一下数据的输入方法即可。一、php,不用COM,生成excel文件header("Content-type:application/vnd.ms-excel");header("Content-Disposition:filenametest.xls");echo "…

大学班里80%都去培训班,为什么我没去

背景大四刚开始,各大培训机构就开始到各大高校开始宣传,我们学校也不例外;当时信息与计算科学这专业在我们学校并不景气,有好几次听说:如果我们那届的就职率还不行的话,那很大可能将此专业拿掉;…

织梦手机版list.php,解决织梦一级目录作域名list.php无法跳转到手机站的问题

最近测试了www.doweb8.com/m/list.php?tid1 在手机站访问的时候,无法跳转到手机的模板,终于找到了解决了方法,给大家分享一下修改根目录下的m/list.php文件重新弄的代码, 不区分几级目录,理论是根据你指定的PC&#…

如何在 C# 中使用 Buffer

缓冲区 是内存中的一组字节序列,缓冲 是用来处理落在内存中的数据,.NET 缓冲 指的是处理 非托管内存 中的数据,用 byte[] 来表示。当你想把数据写入到内存或者你想处理非托管内存中的数据,可以使用 .NET 提供的 System.Buffer类&a…

php强制对齐,[强迫症福利] 使用 PHPStorm 对齐数组的键值对

用 php-cs-fixer 自动格式化,一个配置配合 Git 自动格式化,补充楼上。示例 Git Hook忽略前端的代码格式化,修改一下就可以用。#!/bin/bash## check PHP code syntax error and standard with phpcs# https://blog.csdn.net/xsgnzb/article/de…

.NET SDK-Style 项目(Core、Standard、.NET5)中的版本号

.NET SDK-Style 项目(Core、Standard、.NET5)中的版本号独立观察员 2020 年 12 月 24 日之前 .NET Framework 时,项目版本号等信息是存储在 AssemblyInfo.cs 文件中,通过程序集特性进行设置:.NET Core 之后&#xff0c…

ajax php 动态,jQuery+PHP+Ajax实现动态数字统计展示功能

jQueryPHPAjax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中。首先我们在#number放置要统计的数字:当前在线:然后我们要定义一个动画过程,使…