javacodex.com
Java Examples
Java Examples
memu home questions

How to get the Linux inode number of a file in java?

This java example demonstrates how to get the unix inode number of a file.

Source: (MyFile.java)

import java.nio.file.*;
import java.nio.file.attribute.*;
 
public class MyFile {
 
  public static void main(String[] args) throws Exception  {
 
    BasicFileAttributes attr = null;
    Path path = Paths.get("MyFile.java");
 
    attr = Files.readAttributes(path, BasicFileAttributes.class);
 
    Object fileKey = attr.fileKey();
    String s = fileKey.toString();
    String inode = s.substring(s.indexOf("ino=") + 4, s.indexOf(")"));
    System.out.println("Inode: " + inode);
  }
}

Output:

$ java MyFile
Inode: 664938

$ ls -i MyFile.java 
664938 MyFile.java

Contact: javacodex@yahoo.com