日志文件系统 - 保险丝

时间:2014-03-17 04:55:40

标签: logging filesystems fuse

我正在通过保险丝(FUSE-JNA)写日志文件系统。我想做的是

  • 在用户打开文件时在数据库表中记录/插入当前时间
  • 并在用户关闭文件时在数据库表中插入当前时间

就像网络服务器日志一样。

为此,我认为实现open()和release()方法会起作用:

public int open(final String path, final FileInfoWrapper info)
{
    System.out.println("open called: Path="+path); //replaced with code for inserting current time in database table 
    return 0;
}
@Override
public int release(final String path, final FileInfoWrapper info)
{
    System.out.println("release called: Path="+path);//replaced with code for inserting current time in database table
    return 0;
}

1 - 当我打开文件时调用这些方法,这很好

2 - 但是当我打开文件夹时,也会为文件夹

中的每个文件调用这些方法

我如何区分上述两种情况。因为我只需要在用户打开文件和关闭时间时插入时间。不是在用户打开目录时。

请有人帮忙

1 个答案:

答案 0 :(得分:0)

使用java.nio.File isFile()isDirectory()来区分这两者。