有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android上的java FileLock什么都不做?

我试图在写入文件时将其锁定在设备的“外部”存储器(在我的情况下不可移动)上。在获得锁后,我可以进入文件浏览器(在另一个应用程序中),在写入文件时读取或删除该文件。没有办法防止这种情况吗

FileOutputStream fos = new FileOutputStream(fileNameOut);
lock = fos.getChannel().lock();
outputStream = new BufferedOutputStream(fos);

共 (1) 个答案

  1. # 1 楼答案

    Is there no way to prevent this?

    这是无法阻止的。。。缺少重写其他应用程序

    Android平台有一个基于Linux的内核,在Linux/Unix系统上,文件锁定是自主决定的。应用程序只有在尝试为自己获取文件锁时才会注意到文件被“锁定”。他们通常不这样做,如果他们不这样做,你也无能为力


    FileLock on Android doesn't do anything?

    不对。它做了一些事情,但不是你所期望的

    阅读javadoc的“平台依赖项”部分