【问题标题】:log file system- Fuse日志文件系统 - Fuse
【发布时间】:2014-04-22 05:43:18
【问题描述】:

我正在通过 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-但是当我刚刚打开文件夹时,文件夹中的每个文件也会调用这些方法

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

请人帮忙

【问题讨论】:

    标签: logging filesystems fuse


    【解决方案1】:

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

    【讨论】:

    • 欢迎来到 SO 并感谢您的回答。它已被标记为审查,因为它相当简短。您能否稍微扩展一下,也许让 OP 知道这如何以及为什么会有所帮助。我可以看到您是对的,但我是一位经验丰富的 Java 开发人员,如果 OP 有经验了解为什么它是正确的,他们一开始就不会提出问题。
    猜你喜欢
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 2017-10-04
    • 2011-12-11
    • 1970-01-01
    • 2015-11-21
    相关资源
    最近更新 更多