Exemplo n.º 1
0
  private void _add(Object pojo) {

    if (tempPath == null) tempPath = "data" + File.separator + key;
    if (tempFile == null) {
      tempFile = "" + UUID.randomUUID();
    }

    // 创建一个lock文件
    File lockFile = FileUtil.openFile(tempPath, tempFile + ".lock");
    // 将文件加锁
    FileLock fileLock = FileUtil.tryLockFile(lockFile);
    if (fileLock == null) {
      tempFile = "" + UUID.randomUUID();
      lockFile = FileUtil.openFile(tempPath, tempFile + ".lock");
      fileLock = FileUtil.tryLockFile(lockFile);
    }

    // 将temp文件打开
    File file = FileUtil.openFile(tempPath, tempFile + ".data");

    FileUtil.writeObjectToFile(pojo, file, true);
    // 存储完毕,将文件解锁
    FileUtil.unlockFile(fileLock);
    objListSize++;
  }