在尝试写入文件时,我试图将文件锁定在设备的“外部”存储中(在我的情况下是不可移动的)。获取锁后,我可以进入文件浏览器(在另一个应用程序中)并在写入文件时读取或删除该文件。有没有办法防止这种情况?
FileOutputStream fos = new FileOutputStream(fileNameOut);
lock = fos.getChannel().lock();
outputStream = new BufferedOutputStream(fos);
有没有办法防止这种情况?
除了重写其他应用程序之外,没有其他方法可以防止这种情况。
Android平台具有基于Linux的内核,并且在Linux / Unix系统上文件锁定是任意的。如果应用程序试图为其自身获取文件锁定,则该应用程序将仅注意到该文件被“锁定”。他们通常不这样做,如果不这样做,您将无能为力。
Android上的FileLock不执行任何操作?
不正确。它可以执行某些操作,但不能达到您的预期。
阅读javadoc的“平台依赖项”部分。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句