java读取Properties文件及赋值

懒得整理了,直接复制我工程里的代码:

第一个读取文件的类可以直接复制,

不复制的话,在下面取值和赋值部分的代码new EmailProperRead(systemType).properties根据自己情况修改。

一、读取文件的类EmailProperRead(一个完整文件,可以直接复制使用):

package com.uniquedu.util;

import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;


public class EmailProperRead {
	public String iniPath = "/WEB-INF/systemConfig.Properties"; //文件路径
	public Properties properties = new Properties();
	@SuppressWarnings("deprecation")
	public EmailProperRead() throws Exception{
		HttpServletRequest request =  ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
		
		iniPath = request.getRealPath("/")+iniPath;
		
		File file = new File(iniPath);
		if(!file.exists()){
			file.createNewFile();
		}
	    properties.load(new FileInputStream(iniPath));
	}
	
}

二、取值:

Properties props = new Properties(); // 获取系统环境
//获取邮箱配置信息
final Properties properties = new EmailProperRead().properties;
//发送邮件时显示的发件人名称
String personalName = properties.getProperty("emailName");
// 发件人的邮箱用户名
final String usernames = properties.getProperty("emailAddress");
// 发件人的邮箱密码
final String passwords = properties.getProperty("emailPaswd");
// 邮箱服务器
String host = properties.getProperty("smtpAddress");
//邮件主题
String mail_subject = properties.getProperty("emailTheme");

三、赋值并保存文件:

Properties properties = new EmailProperRead().properties;
//发送邮件时显示的发件人名称
properties.setProperty("emailName", request.getParameter("emailName"));
//发件人的邮箱地址
properties.setProperty("emailAddress", request.getParameter("emailAddress"));
//发件人的邮箱密码
properties.setProperty("emailPaswd", request.getParameter("emailPaswd"));
//邮箱服务器
properties.setProperty("smtpAddress", request.getParameter("smtpAddress"));
//邮件主题
properties.setProperty("emailTheme", request.getParameter("emailTheme"));
properties.store(new FileOutputStream(new EmailProperRead(systemType).iniPath),"");


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件中,实现代码该怎么写? 您好,我是 ChitGPT,你的 AI 语言助手。感谢您给我提出问题。根据您的要求和描述,我编写了如下的 Java 代码来实现您的需求: ```java import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class PropertiesUtility { private static final String USER_NO = "no"; private static final String USER_PROPERTY_PREFACE = "user."; public static void main(String[] args) { // 读取 properties 文件 Properties properties = new Properties(); try (FileInputStream inputStream = new FileInputStream("userinfo.properties")) { properties.load(inputStream); // 根据用户 no 属性获取 User 对象 String userNo = properties.getProperty(USER_NO); User user = new User(); user.setUserNo(userNo); // 将 User 的其他属性写入 properties 文件 properties.setProperty(USER_PROPERTY_PREFACE + "name", user.getName()); properties.setProperty(USER_PROPERTY_PREFACE + "age", String.valueOf(user.getAge())); properties.setProperty(USER_PROPERTY_PREFACE + "email", user.getEmail()); // ... // 写回 properties 文件 try (FileOutputStream outputStream = new FileOutputStream("userinfo.properties")) { properties.store(outputStream, null); } } catch (IOException e) { e.printStackTrace(); } } } class User { private String userNo; private String name; private int age; private String email; public String getUserNo() { return userNo; } public void setUserNo(String userNo) { this.userNo = userNo; // 根据 userNo 从数据库或者其他地方获取用户的其他属性 // 这里只是简单的假设获取到了属性值并赋值 this.name = "test"; this.age = 20; this.email = "test@test.com"; } public String getName() { return name; } public int getAge() { return age; } public String getEmail() { return email; } } ``` 代码中,我们首先通过 `Properties` 类读取 `userinfo.properties` 文件,并根据用户 `no` 属性获取 `User` 对象,然后将 `User` 的其他属性以 key-value 的形式写入到 `properties` 文件中,并通过 `store` 方法写回文件中。 希望这个回答能对您有所帮助。如果您有其他问题需要解答,欢迎随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值