今天算是无语了。唉,properties的读写总是出问题,这下我得好好的总结一下了!
package dk;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.util.Properties;
import com.sun.org.apache.xalan.internal.xslt.Process;
/**
* @author 邓葵
* @time 2010-7-7
*/
/**
* 这里提醒一下 如果你调用writeProperties方法 修改之后
* 去看工程中的test.properties文件
* 你看不到你修改后的效果
* 你必须到现在控制台打印出来的绝对地址去
* 看才能看到你修改的是否起作用了
*/
public class PropertyReadOrWrite {
public String readProperties(){
Properties props = new Properties();
Help2VO vo2 = new Help2VO();
String allDate ="";
try{
props.load(this.getClass().getResourceAsStream("/test.properties"));
allDate = props.getProperty("btValue1")+","+props.getProperty("btValue2")+","+props.getProperty("btValue3")+","+props.getProperty("btValue4");
/* vo2.setBtValue1(props.getProperty("btValue1"));
vo2.setBtValue2(props.getProperty("btValue2"));
vo2.setBtValue3(props.getProperty("btValue3"));
vo2.setBtValue4(props.getProperty("btValue4"));*/
}catch(Exception e){
e.printStackTrace();
}
return allDate;
}
public void writeProperties(String name,String value){
System.out.println("name===="+name);
System.out.println("value===="+value);
Properties props = new Properties();
URL u = this.getClass().getResource("/test.properties");
System.out.println(u.toString().substring(6));
try{
/**
* 重点--->这里必须呀重新在load一次
* 不然你后面所做的修改btValue1=‘mm’的值
* 其余的会被清空也就是说btValue2=‘dk2’
* 等等下面的这些数据都会被刷空
* 只会留下这一个你修改的值.
*
*/
props.load(this.getClass().getResourceAsStream("/test.properties"));
OutputStream fos = new FileOutputStream(u.toString().substring(6));
props.setProperty(name, value);
/**
* 注意这里
* props.store(fos,name);
* 里面的name参数可以写也可以写 不写的话那就是
* props.store(fos,"");
*
*/
props.store(fos,name);
fos.flush();
fos.close();
}catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args) {
PropertyReadOrWrite p = new PropertyReadOrWrite();
//System.out.println(p.readProperties());
p.writeProperties("btValue1", "dd");
}
}
VO类:我这是为了使用Dwr整合测试的时候用的
package dk;
public class Help2VO {
private String btValue1;
private String btValue2;
private String btValue3;
private String btValue4;
public String getBtValue1() {
return btValue1;
}
public void setBtValue1(String btValue1) {
this.btValue1 = btValue1;
}
public String getBtValue2() {
return btValue2;
}
public void setBtValue2(String btValue2) {
this.btValue2 = btValue2;
}
public String getBtValue3() {
return btValue3;
}
public void setBtValue3(String btValue3) {
this.btValue3 = btValue3;
}
public String getBtValue4() {
return btValue4;
}
public void setBtValue4(String btValue4) {
this.btValue4 = btValue4;
}
}
test.properties 文件代码贴上来:
#btValue1
#Wed Jul 07 22:31:37 CST 2010
btValue4=dd
btValue3=dk3
btValue2=dk2
btValue1=fadfdas
ok 搞定 如果需要工程我在下章 讲解Dwr整合的时候 在一起上传上来啦。
分享到:
相关推荐
properties文件读写操作
### C#操作Properties,读写配置文件 在C#编程中,经常需要处理应用程序的配置信息,例如数据库连接字符串、用户界面的语言设置等。这些配置信息通常存储在配置文件中,便于程序运行时动态加载和修改。C#提供了一种...
根据给定文件的信息,我们可以总结出...总结以上内容,我们了解了如何在 Java 中使用 `Properties` 类进行配置文件的读写操作,以及如何使用 DOM 解析器来处理 XML 文件。这些技术是开发过程中经常用到的基本技能之一。
这意味着读写操作应该是原子性的,或者在必要的时候使用同步控制。 通过使用`PropertyUtil.java`这样的工具类,开发人员可以避免编写重复的代码,更专注于业务逻辑,而不用关心底层的文件I/O细节。此外,良好的封装...
在实际应用中,Properties类通常结合FileInputStream和FileOutputStream一起使用,以读写配置文件。以下是一个简单的示例: ```java Properties props = new Properties(); FileInputStream fis = new ...
此外,在实际应用中,还可以结合文件操作类如`FileInputStream`和`FileOutputStream`来实现更复杂的功能,比如加密解密配置文件、动态配置加载等。 以上就是关于Java读写`Properties`配置文件的详细讲解。希望对你...
总结,属性文件读写操作类的核心在于`java.util.Properties`类的使用,以及如何优雅地进行文件I/O操作。理解这些知识点对于开发Java应用程序,特别是需要持久化配置信息的应用来说至关重要。通过自定义类和工具方法...
Properties类继承自Hashtable,用于读写属性列表(键/值对),常用于存储配置信息。例如,一个.properties文件可以这样创建: ``` # sample.properties username=admin password=123456 ``` 在Java中,我们可以...
通过`FileInputStream`和`FileOutputStream`创建文件输入/输出流,然后使用`Properties`类的方法进行操作。注意在读写操作后,一定要记得关闭输入/输出流,以防止资源泄漏。 总之,Java的`Properties`类提供了一种...
// 读写操作 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // 关闭流 } ``` **使用资源文件** 在大型项目中,通常将`.properties`...
总结,`Properties`类在Java中扮演着至关重要的角色,它提供了方便的接口来处理配置文件的读写操作。了解和熟练掌握其用法,能帮助我们更好地管理和维护应用的配置信息。在实际项目中,要特别注意文件编码问题,确保...
除了`getProperty()`和`setProperty()`方法,Properties类还提供了其他操作键值对的方法,如`setProperty()`, `removeProperty()`, `keys()`, `values()`等。这些方法允许我们修改、删除属性,或者遍历所有的键或值...
这个"读取properties文件工具类"是为了简化程序中对`.properties`文件的读取操作而设计的。通过这样的工具类,开发者可以方便地加载和获取配置文件中的属性值,避免重复编写相同的代码。下面我们将详细探讨`...
为了在Python中读取这样的文件,我们可以创建一个名为`Properties`的类,该类包含两个方法:`__init__`和`getProperties`。`__init__`用于初始化类实例,并接收文件路径作为参数;`getProperties`方法负责打开文件,...
在Java编程中,管理应用程序的配置信息是一项常见的任务。这些配置信息通常存储在文本...在实际开发中,为了提高代码的可维护性和可扩展性,通常会封装成工具类或者服务,提供更高级别的接口来处理配置文件的读写操作。
/*读操作 CProperties cprop; PSTATUS ret = cprop.open("D:\\job\\greatwall\\test\\bank.properties"); if (ret != IS_OK) { cout打开配置文件失败"; getchar(); return 0; } cprop.load(); vector<string> vec...
1. 相对类路径:如果你的Properties文件与Java源代码位于同一目录结构下,可以使用`getResourceAsStream()`方法,配合类路径来加载。例如: ```java InputStream in = getClass().getResourceAsStream("/config....
`Properties`类继承了`Hashtable`,因此具备键值对存储的基本功能,同时增加了对属性文件的读写支持。 1. **读取Properties文件** 要读取Properties文件,首先需要创建一个`Properties`对象,然后使用`load()`方法...
- 将读写操作分开到不同的方法中,可以使代码更清晰、易读,便于维护。 通过以上知识点,我们可以解决Java在处理.properties文件时可能出现的中文乱码问题。在实际项目中,应始终注意文件的编码设置,以确保数据的...
总结一下,处理Java中的Properties文件读写时,需要注意文件路径的准确性、文件的读写权限以及缓存问题。通过以上方法,应该能够有效解决描述中提到的问题。对于提供的"新建文本文档.txt",虽然不是Properties文件,...