java中的配置文件_java中Properties配置文件的使用方法

配置文件代码package Properties;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.util.Properties;

import java.util.Scanner;

/**

* 内容: 学习使用Properties写配置文件,和读取配置文件,以及修改配置文件的内容,并会在装载对象的时候,载入配置文件的内容

*  构造:

*  作者: 沙漠骆驼

* 日期: 2017年4月16日上午10:48:56

*/

public class PropertiesStudy {

/**

* 读取配置文件的内容

* @param file

* @return

* @throws IOException

*/

public boolean readProperty(File file) throws IOException {

if (!file.exists()) {

System.out.println("配置文件不存在!");

return false;

}

if (file.isFile()) {

FileInputStream fin = new FileInputStream(file);

InputStreamReader inputStreamReader = new InputStreamReader(fin,"GBK");

Properties properties = new Properties();

properties.load(inputStreamReader);

String name = properties.getProperty("name");

String age = properties.getProperty("age");

String address = properties.getProperty("address");

fin.close();

System.out.println(name);

System.out.println(age);

System.out.println(address);

return true;

}

return false;

}

/**

* 创建配置文件

* @param file

* @return

* @throws IOException

*/

public boolean creatProperties(File file) throws IOException {

if (!file.exists()) {

if (file.createNewFile()) {

System.out.println("配置文件不存在!已创建" + file.getName() + "");

}

}

System.out.println("配置文件已存在");

return false;

}

/**

* 设置配置文件中的字段

* @param file

* @return

* @throws IOException

*/

public boolean charSetProperties(File file) throws IOException {

if (file.exists()) {

OutputStream outputStream = new FileOutputStream(file);

OutputStreamWriter outputStreamWriter = new OutputStreamWriter(outputStream, "GBK");

Properties properties = new Properties();

properties.setProperty("name", "沙漠骆驼");

properties.setProperty("age", "27");

properties.store(outputStreamWriter, "配置文件编码测试");

outputStreamWriter.close();

return true;

}

return false;

}

/**

* 设置配置文件中的字段

* @param file

* @return

* @throws IOException

*/

public boolean setProperties(File file) throws IOException {

Scanner input = new Scanner(System.in);

if (!file.exists()) {

creatProperties(file);

}

if (file.exists()) {

// 设置属性为追加方式存贮

OutputStream out1 = new FileOutputStream(file);

OutputStream out = new FileOutputStream(file, true);

Properties properties = new Properties();

System.out.println("请输入配置文件的key1:");

properties.put("key1", input.next());

System.out.println("请输入配置文件的key2:");

properties.put("key2", input.next());

properties.setProperty("key1", "沙漠骆驼[]set");

properties.setProperty("age", "27");

properties.setProperty("address", "测试地址");

properties.setProperty("name", "沙漠骆驼");

properties.store(out1, "我在测试配置文件,这里是配置文件的存储方法,此处写日志");

out.close();

return true;

}

input.close();

return false;

}

/**

* 移除配置文件中的字段

* @param file

* @param key

* @return

* @throws IOException

*/

public boolean removeProperties(File file, String key) throws IOException {

if (!file.exists()) {

System.out.println("您要删除键值的Properties配置文件不存在");

return false;

}

if (file.exists()) {

FileInputStream fin = new FileInputStream(file);

FileOutputStream fout = new FileOutputStream(file);

Properties properties = new Properties();

properties.load(fin);

if (properties.getProperty(key) != null) {

System.out.println("您要删除的:" + properties.getProperty(key));

System.out.println(properties.remove(key));

properties.store(fout, key);

fin.close();

return true;

}

fout.close();

}

return false;

}

}

测试类package Properties;

import java.io.File;

import java.io.IOException;

/**

* 内容:测试Properties的使用

* 构造:

* 作者:沙漠骆驼

* 日期: 2017年4月16日上午11:02:59

*/

public class Test {

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

// TODO Auto-generated method stub

File file = new File("aaa/config.properties");

if (!file.exists()) {

//如果文件不存在,创建一个这个文件

boolean createNewFile = file.createNewFile();

System.out.println(createNewFile);

}

PropertiesStudy propertiesStudy = new PropertiesStudy();

//读取配置文件

boolean readProperty = propertiesStudy.readProperty(file);

System.out.println(readProperty);

//设置配置文件

//System.out.println(propertiesStudy.setProperties(file));

//System.out.println("删除配置文件中的键");

//System.out.println(propertiesStudy.removeProperties(file, "address"));

System.out.println(propertiesStudy.charSetProperties(file));

}

}

配置文件File file = new File("aaa/config.properties");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值