java获取文件的inode标识符的方法

 更新时间:2022年04月01日 09:42:18   作者:brucelwl  
这篇文章主要介绍了java获取文件的inode标识符,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

java获取文件的inode标识符,如果文件被删除或者重命名,inode的值会发生变更,因此可以在第一次加载File之后记录inode,后续校验inode的值来判断文件是否被删除、重命名或重新创建等。

方法1

import java.io.File;
import java.nio.file.Files;
import java.nio.file.attribute.BasicFileAttributeView;
import java.nio.file.attribute.BasicFileAttributes;
/**
 * Created by bruce on 2022/3/27 21:39
 */
public class FileInodeReaderTest {
    public static void main(String[] args) {
        File file = new File("/logs/csp/sentinel-block.log");
        try {
            BasicFileAttributeView basicview = Files.getFileAttributeView(file.toPath(), BasicFileAttributeView.class);
            BasicFileAttributes attr = basicview.readAttributes();
            System.out.println("attr.fileKey():" + attr.fileKey()
                    + " attr.creationTime:" + attr.creationTime()
                    + " attr.lastModifiedTime:" + attr.lastModifiedTime());
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}

方法2

import java.io.File;
import java.nio.file.Files;
/**
 * Created by bruce on 2022/3/27 21:39
 */
public class FileInodeReaderTest {
    public static void main(String[] args) {
        File file = new File("/logs/csp/sentinel-block.log");
        try {
            Object inode = Files.getAttribute(file.toPath(), "unix:ino");
            System.out.println("inode->" + inode);
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}

补充:Java INode类代码示例

INode类属于org.jbpt.petri包,在下文中一共展示了INode类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getRefinedBondType

import org.jbpt.petri.INode; //导入依赖的package包/类
@Override
public WFTreeBondType getRefinedBondType(IRPSTNode<F,N> node) {
    if (node.getType()!=TCType.BOND)
        return WFTreeBondType.UNDEFINED;
    else {
        WFTreeBondType type = this.bond2type.get(node);
        if (type!=null) return type;
        else {
            INode entry = node.getEntry();
            INode exit = node.getExit();
            
            if (entry==null || exit == null)
                return WFTreeBondType.UNDEFINED;
            for (IRPSTNode<F,N> child : this.getChildren(node)) {
                if (child.getEntry().equals(node.getExit())) {
                    type = WFTreeBondType.LOOP;
                    this.bond2type.put(node,type);
                    return type;
                }
            }
            if (entry instanceof ITransition && exit instanceof ITransition) {
                type = WFTreeBondType.TRANSITION_BORDERED;
                this.bond2type.put(node,type);
                return type;
            if (entry instanceof IPlace && exit instanceof IPlace) {
                type = WFTreeBondType.PLACE_BORDERED;
            return WFTreeBondType.UNDEFINED;
        }
    }
}

到此这篇关于java获取文件的inode标识符的方法的文章就介绍到这了,更多相关java inode标识符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中CAS机制实现方法详解

    Java中CAS机制实现方法详解

    传统的并发控制手段如synchronized和ReentrantLock虽有效防止资源竞争,却可能引起性能开销,相比之下,CAS(CompareAndSwap)提供一种轻量级的乐观锁策略,通过硬件级别的原子指令实现无锁并发,提高性能,需要的朋友可以参考下
    2024-09-09
  • Springboot多数据源配置之整合dynamic-datasource方式

    Springboot多数据源配置之整合dynamic-datasource方式

    这篇文章主要介绍了Springboot多数据源配置之整合dynamic-datasource方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 将本地的jar包打到Maven的仓库中实例

    将本地的jar包打到Maven的仓库中实例

    下面小编就为大家分享一篇将本地的jar包打到Maven的仓库中实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • Java 从Set里面取出有序的记录详解及实例

    Java 从Set里面取出有序的记录详解及实例

    这篇文章主要介绍了Java 从Set里面取出有序的记录详解及实例的相关资料,需要的朋友可以参考下
    2017-06-06
  • 搭建Spring MVC和Vue3的应用程序的实现

    搭建Spring MVC和Vue3的应用程序的实现

    本文主要介绍了搭建Spring MVC和Vue3的应用程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • 深入浅出分析Java抽象类和接口【功能,定义,用法,区别】

    深入浅出分析Java抽象类和接口【功能,定义,用法,区别】

    这篇文章主要介绍了Java抽象类和接口,结合实例形式深入浅出的分析了java抽象类与接口的功能功能,定义,用法及区别,需要的朋友可以参考下
    2017-08-08
  • Java 多线程并发ReentrantLock

    Java 多线程并发ReentrantLock

    这篇文章主要介绍了Java 多线程并发ReentrantLock,Java 提供了 ReentrantLock 可重入锁来提供更丰富的能力和灵活性,感兴趣的小伙伴可以参考一下
    2022-06-06
  • 【MyBatis源码全面解析】MyBatis一二级缓存介绍

    【MyBatis源码全面解析】MyBatis一二级缓存介绍

    下面小编就为大家带来一篇【MyBatis源码全面解析】MyBatis一二级缓存介绍。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • mybatis-plus中更新null值的问题解决

    mybatis-plus中更新null值的问题解决

    本文主要介绍 mybatis-plus 中常使用的 update 相关方法的区别,以及更新 null 的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-04-04
  • Java集合基础知识 List/Set/Map详解

    Java集合基础知识 List/Set/Map详解

    这篇文章主要介绍了Java集合基础知识 List/Set/Map,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论