java は、ファイルの i ノード識別子を取得します。ファイルが削除されたり、名前が変更されたりすると、inode 値が変更されます。そのため、ファイルを初めてロードした後に i ノードを記録し、その後、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識別子を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。