java锁定文件

标签 java jakarta-ee

我有一个 java 独立应用程序,它将处理目录中的文件。这个 java 应用程序在 AIX 框中运行,由每 1 分钟运行一次的 cron 作业触发。我的目标是如果 java 应用程序的一次调用访问特定文件在那个目录中,该文件应该被锁定以供第二次或其他调用访问,直到第一次 java 调用处理它并释放锁。

Java 中是否有任何方法以编程方式锁定文件?此代码尤其适用于 AIX

最佳答案

您可以 lock files using NIO , 类似的东西

try
{
    RandomAccessFile file = new RandomAccessFile( "yourfile.txt" , "rw" );
    FileChannel fc = file.getChannel();
    FileLock fileLock = fc.tryLock();
    if ( fileLock != null )
    {
        // Do stuff on the file
    }
}
catch ( OverlappingFileLockException e )
{
    // File was locked
}

应该可以。

干杯,

关于java锁定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14120090/

相关文章:

java - 渲染前如何获取textview的行数?

java - 以管理员身份从 java 启动命令提示符 (CMD)

java - Android:使用 findViewById(ID) 时的静态引用/非静态方法

java - 二叉树的搜索功能未返回找到的节点

java - 使用容器管理的实体bean时,容器何时将bean存储到数据库中?

java - Geronimo(或 Tomcat)集群中的启动逻辑

java - Hibernate Envers - 遍历关系

java - 使用 Java EE 开发 Web 应用程序可能会遇到哪些困难(如果有)?

java - 无法创建weblogic提供的webservice客户端

session - Java EE的自定义状态管理