通过App和USB同时访问文件

时间:2014-03-15 16:05:16

标签: java android usb file-access filelock

假设我有一个(股票)android 4.x平板电脑通过USB连接到微控制器板。 该板能够作为USB大容量存储器访问SD卡并读取/写入文件 在卡上。 现在应该在平板电脑上有一个应用程序,它可以读取/写入与主板相同的文件。 因此,可以从电路板和应用程序同时进行读/写文件访问。

为了避免数据不一致等,我会在应用程序读/写文件时使用独占FileLock。 现在我的问题是,如果FileLock“足够低”还能在这种情况下工作并防止数据不一致吗?

THX

2 个答案:

答案 0 :(得分:0)

虽然使用FileLock确保两个应用程序无法同时写入文件,但应用程序逻辑可能会阻止该方案。您仍然需要正确编码。特别是,如果一个应用程序读取文件,进行更改然后“等待”以获取文件锁定以写入文件 - 那么它可能会将“旧”信息写回文件。

答案 1 :(得分:0)

FileLock的文档中找到了这个:

  

锁定旨在成为真正的平台操作系统文件锁定,因此VM保持的锁定对其他操作系统进程可见。

我想通过USB访问SDCard是由某些操作系统的进程控制的,因此锁定也应该对微控制器可见。