(一)读取propertie文件
读取propertie文件比较简单
返回一个文件流给P就可以了
(二)写比较麻烦
因为getClass没有返回outputStream流的方法
这个时候就要设法找出该properties文件的绝对路径
写的步骤
获取文件路劲有多种方法:
1.根据类路劲
例如在自己写的Resource工具类中
2.根据项目相对路径
跟ServletContext耦合
读取propertie文件比较简单
返回一个文件流给P就可以了
//java.util包
Properties pro = new Properties();
//该文件的路劲在classes根路径下
pro.load(getClass().getResourceAsStream("/ClickCout.properties"));
num = Integer.parseInt(pro.getProperty("clickNumers"));
(二)写比较麻烦
因为getClass没有返回outputStream流的方法
这个时候就要设法找出该properties文件的绝对路径
写的步骤
Properties pro = new Properties();
//这里要先load,如果不load可能会覆盖掉没有更新的key-value,
pro.load(getClass().getResourceAsStream("/ClickCout.properties"));
//更新需要更新的key的value值此时并不写入文件
pro.setProperty("clickNumers", new String(String.valueOf(num).getBytes(), "ISO-8859-1"));
//获取文件路径,取得输出流
String filePath = 获得文件 路劲;
File file = new File(filePath);
FileOutputStream out = new FileOutputStream(file);
//保存入文件 注意如果out如果是InputSteam用的是ISO-8859-1编码
//如果是Wrter是用Unicode编码
pro.store(out, null);
获取文件路劲有多种方法:
1.根据类路劲
例如在自己写的Resource工具类中
//获得Resource类的绝对路劲
Resource.class.getResource("Resource.class").getPath()
//然后你可以根据文件相对于这个类的相对路劲查询java.io.File api 查询相关方法
//这个是config文件家的绝对路劲构建出来的file
ConfigRoot=new File(f.getParentFile().getParentFile().getParentFile(),"config");
//config目录下的文件
new File(ConfigRoot,fileName)
2.根据项目相对路径
跟ServletContext耦合
String filePath = ServletContext.getRealPath( "/WEBINF/classes/ClickCout.properties");