易截截图软件、单文件、免安装、纯绿色、仅160KB

java Properties的读,写操作

(1)
  java.util.Properties  
  通过这个文件,可以获得属性和设置存储属性  
  感觉有点像session,存进去,读出来,但是这个是永久保存的介质  
   FileInputStream fis=new FileInputStream("文件名");  
   Properties props =new Properties();  
   props.load(fis);  
   out.println("===="+props.getProperty("一个属性名"));  
   fis.close();  
(2)我们经常使用.properties文件作为配置文件,所以大部分的时候,我们只是load,然后读取其配置属性.
但是,有的时候,我们可能也需要动态的更新配置,那么怎么来实现对properties配置文件的更新操作呢.
这个问题其实很简单,我们先看读操作:
Properties p;
try {
p = PropertiesReader.readProperties("org/zy/common/parse/util/config.properties");
先载入配置文件,
String javaHome = p.getProperty("JAVA_HOME"));
通过getProperty()方法和关键字来实现属性的检索和返回.
那么,如何写?
多的时候我们知道,我们首先要读我们的配置文件流,那么写的时候,我们也要先得到一个写文件流.
由于是文本文件,所以我们使用FileWriter.
String path =p.getClass().getResource("/org/zy/common/parse/util/config.properties").getPath();
Writer w=new FileWriter(path);
此时,我们已经准备好了,要把更新的属性写到哪里,那么,如何写?
有的时候,可能你是要更新某个属性,有的时候,可能你要添加一个属性.
可能你会使用w.write()方法来实现写操作,没有问题,但是,你以前的配置就完全没有了,如果想保留的话,就只有完全写一个新的文件.这中方法,对于更新某个属性的值来说就稍微的麻烦一点.当然,可以用正则表达式来实现.
其实properties本身也给我们提供了方法.
p.setProperty("bb", "bb update string");
p.store(w,"bb");
w.close();
我们可以读属性,就可以设置属性.
setProperty()方法就可以实现.
但是此时的更新只是在内存中,并没有写如文件.要写入文件的话,就要调用store()方法.此时,我们关闭输出流的话,数据已经持久化到了文件.
setProperty()中,如果你的属性是文件里面没有的属性,那么,系统会进行追加操行,如果你的属性,在系统中已经存在,那么系统就会进行更新操作.
例如:
你的配置文件是:
a=a
b=b
c=c
那么,如


相关文档:

java中 最常用的String 的用法

String : 字符串类型
一、构造函数
String(byte[ ] bytes):通过byte数组构造字符串对象。
String(char[ ] value):通过char数组构造字符串对象。
String(Sting original):构造一个original的副本。即:拷贝一个original。
String(StringBuffer buffer):通过StringBuffer数组构造字符串对象。
例如:
byte[] b = ......

java设计模式

问题域:
 --系统中你需要获得某个类的唯一实例,所有客户端对它的访问都将通过一个公共的访问点获得
 --创建一个类并使其:(A)定义一个私有的构造器(B)定义一个私有、静态的变量指向自己(C)定义一个公有、静态的访问方法用于返回该类的一个唯一实例
分为 饿汉式 和 懒汉式,下面是一个简单的示例代码,应该 ......

java中float/double浮点数的计算失精度问题

 java中浮点数的计算
今天在数值计算时碰到一个问题.程序如下:
  double a = (3.3-2.4)/0.1;
  System.out.println(a);
你可能认为结果很简单,不就是9嘛,是事实上,结果为:8.999999998,为什么呢?我翻阅了一些资料,终于找出了原因.
为什么浮点数会丢失精度? 
十进制数的二进制表示可能不够精确
......

java实现循环左移和右移的简单算法

 byte a=112,用程序实现,将其循环左移三位和右移三位。
112的二进制原码:0111 0000
112循环左移3位后的二进制码:1000 0011
112循环右移3位后的二进制码:0000 1110
先将循环左移的程序代码告诉大家:
public class TestCircle{
 public static void main(String args[]){
  byte x=112;
 & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号