直接能用
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
/**
* @author zhaoming
* @date 2020/7/23 18:45
*/
public class PropertiesUtil {
//获取已经保存的已读字节数
public static long getLongValue(String filePath, String key) {
long num = 0L;
String value = getValue(filePath, key);
if (value == null)
num = 0;
else
num = Long.parseLong(value);
return num;
}
//将已读取字节数 保存到文件上
public static void saveConter(String filePath, String key) {
File file = new File(filePath);
if(!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
InputStream in = null;
OutputStream fos = null;
try {
in = new FileInputStream(filePath);
Properties properties = new Properties();
properties.load(in);
closeInput(in, null);
fos = new FileOutputStream(file);
long byteNum = ReadByteCounter.getInstance().getByteNum();
properties.setProperty(key, byteNum + ""); //设值-保存
properties.store(fos, getStringDate() + " Update '" + key + "'+ '"+byteNum);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
closeInput(in, fos);
}
}
public static String getValue(String filePath, String key) {
String data = null;
File file = new File(filePath);
if(!file.exists()) {
return data;
}
InputStream in = null;
try {
in = new FileInputStream(filePath);
Properties properties = new Properties();
properties.load(in);
data = properties.getProperty(key);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
closeInput(in, null);
}
return data;
}
private static String getStringDate() {
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD hh:mm:ss");
return sdf.format(new Date());
}
private static void closeInput(InputStream in, OutputStream fos) {
if(in != null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}