Java读取属性Properties文件这种东西还是很有用的。所以写个程序Mark一下。
Properties对象是由Hashtable实现的。封装的还是key=value这种形式。不过由于这个类只针对properties文件,所以加了一些从文件中读数据load,将数据存到文件中的方法store。
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public class PropertyReader {
private Properties prop;
private String path;
public PropertyReader(String path)
{
this.prop=new Properties();
this.path=path;
try {
FileInputStream in=new FileInputStream(new File(this.path));
this.prop.load(in);
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getProperty(String key)
{
return prop.getProperty(key);
}
public void addProperty(String key,String value)
{
prop.put(key, value);
}
}
应用
String path="conf.properties";
PropertyReader propertyReader=new PropertyReader(path);
byestr=propertyReader.getProperty("byeStr");
addr=propertyReader.getProperty("address");
sendPort=Integer.parseInt(propertyReader.getProperty("sendPort") );
dstPort=Integer.parseInt(propertyReader.getProperty("dstPort"));
properties文件路径从classes目录下开始,即和class文件放置在一起
properties文件
#接收方地址、端口链接信息
address=192.168.1.100
dstPort=10000
receivePort=10000
#发送方链接信息
sendPort=8082
#结束发送标识
byeStr=886