java中的文件锁定

我有一个文件夹中的文件列表,我想锁定一个特定的文件(用户向我发送要锁定的文件的名称),我的操作如下:


try {


    File file = new File("filename");

    FileChannel channel = new RandomAccessFile(file, "rw").getChannel();

    FileLock lock = channel.lock();

    try {

        lock = channel.tryLock();

    } catch (OverlappingFileLockException e) {

        // File is already locked 

    }


} catch (Exception e) {

}

如果另一个用户想查看文件列表,我必须告诉他们文件的状态,哪个是锁定的,哪个是未锁定的


   File folder = new File("E:\\folder_to_LIST_OF_FILES");

            File[] listOfFiles = folder.listFiles();


            for (int i = 0; i < listOfFiles.length; i++) {

                if (listOfFiles[i].isFile()) {

                    FilesDto returnDto = new FilesDto();

                    returnDto.setFileName(FilenameUtils.removeExtension(listOfFiles[i].getName()));


                    // Check File Status if file is Locked or unlocked


                    if (lock==null) {

                        returnDto.setStatus("unlocked");

                        returnDto.setFilePath(listOfFiles[i].getAbsolutePath());


                    } else {

                        returnDto.setStatus("Locked");

                    }


                    returnDtoList.add(returnDto);

                }

            }

这两个片段来自不同的 API。如何检查文件被锁定或解锁的状态?


子衿沉夜
浏览 132回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java