博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CursorFileManager对cursor文件的读写
阅读量:4558 次
发布时间:2019-06-08

本文共 1947 字,大约阅读时间需要 6 分钟。

public class CursorFileManager implements CursorManager{
public void write(String key, LongCursor cursor) throws IOException { File file = new File(key); if (cursor == null) { if (file.exists()) { file.delete(); } return; } FileWriter fileWriter = null; try { fileWriter = new FileWriter(file); JSON.writeJSONStringTo(cursor, fileWriter, new SerializerFeature[0]); } catch (Exception e) { this.logger.error(e.getMessage(), e); } finally { if (fileWriter != null) fileWriter.close(); } }public LongCursor read(String key){ JSONReader reader = null; try { File file = new File(key); this.logger.info("try to read cursor from file={}", file.getAbsolutePath()); if (!file.exists()) { return null; } reader = new JSONReader(new FileReader(file)); LongCursor cursor = (LongCursor)reader.readObject(LongCursor.class); return cursor; } catch (Exception e) { this.logger.error(e.getMessage(), e); } finally { if (reader != null) reader.close(); } return null;}

cursor格式:

{"biz":"false-0","extraInfo":1469203484000,"from":1469203208000,"to":1469203508000}

public LongCursor read() {    LongCursor cursor = cursorManager.read(cursorPath + "/" + fileName);    if (cursor != null) {        String biz = cursor.getBiz();        if (biz != null && biz.length() > 0) {            String[] secs = biz.split("-");            shouldWait = Boolean.parseBoolean(secs[0]);            if (secs.length > 1) {                completedOrderId = Long.valueOf(secs[1]);            }        }    }    return cursor;}public void write(LongCursor cursor) throws IOException {    cursor.setBiz(shouldWait + "-" + completedOrderId);    cursorManager.write(cursorPath + "/" + fileName, cursor);}

 

转载于:https://www.cnblogs.com/ShanHeDiao/p/5889580.html

你可能感兴趣的文章
XMind 6 如何画流程图
查看>>
final发布评价
查看>>
DLL远程注入与卸载
查看>>
Jmeter-ForEach控制器
查看>>
Checklist: 2019 05.01 ~ 06.30
查看>>
Binary XML file : Error inflating class com.esri.android.map.MapView
查看>>
grep,awk和sed
查看>>
.NET Core WebAPI IIS 部署问题
查看>>
SystemTap 静态探针安装包
查看>>
redis五种数据类型的使用
查看>>
Form表单中的onClick,onSubmit和submit
查看>>
Python-SocketServer源码
查看>>
JavaScript-基本数据类型
查看>>
CentOS 7.3 实体机启动 U 盘制作
查看>>
mysql数据库
查看>>
dede调用文章里的图片
查看>>
windows 窗体基本控件
查看>>
unix date 命令获取某日期的前一天
查看>>
python中set、list、dict内部实现原理
查看>>
Python3 MySQL 数据库连接
查看>>