做公众号,管理access_token一种方法,在src下新建properties文件;
package com;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Properties;
public class PropertyTest {
public void protest() throws IOException{
String FileName = "WxToken.properties";
// 从文件中获取token值及时间
Properties prop = new Properties();// 属性集合对象
//获取文件流
InputStream fis = PropertyTest.class.getClassLoader().getResourceAsStream(FileName);
prop.load(fis);// 将属性文件流装载到Properties对象中
fis.close();// 关闭流
//获取Appid,APPsecret
String AppID = prop.getProperty("AppID");
String AppSecret = prop.getProperty("AppSecret");
// 获取accesstoken,初始值为空,第一次调用之后会把值写入文件
String access_token = prop.getProperty("access_token");
String expires_in = prop.getProperty("expires_in");
String last_time = prop.getProperty("last_time");
System.out.println(AppID);
System.out.println(AppSecret);
System.out.println(access_token);
System.out.println(expires_in);
System.out.println(last_time);
prop.setProperty("access_token", access_token+"new");
prop.setProperty("last_time", System.currentTimeMillis() + "");
URL url_ = PropertyTest.class.getClassLoader().getResource(FileName);
FileOutputStream fos;
try {
fos = new FileOutputStream(new File(url_.toURI()));
prop.store(fos, null);
fos.close();// 关闭流
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
PropertyTest p = new PropertyTest();
p.protest();
}
}
每次执行完后项目下的WxToken.properties内容不变,class目录下WxToken.properties已改变