2013-06-01 39 views
0

情景写模式打开: 的文件正在从互联网.An应用下载试图读取相同的文件,当它被下载。如何可以在应用程序检查此文件是否已在写入模式下打开。如何在Android上检查文件是否被其他应用程序

平台:Android的

+0

问题是不是当作家完成,但要注意的是,文件被写入到 –

回答

1

您可以检查该文件正在通过轮询写入修改日期。一旦文件没有被修改一段时间,你可能会认为它已经下载。否则,没有可靠的方法来做到这一点,而不读取文件,看看它是否完整。

+1

谢谢您的回答,有可能是在那里作家修改较长的时间间隔后的文件的情况下(让我们说一些记录系统作者),所以在这种情况下,这个检查可能会失败。 –

+0

对于记录器,可能无法判断ti何时完成。 –

+0

可能适用于这种情况file.canWrite()是一个选项。 –

0

我假设问题是,您正在阅读文件,并且您没有获得end of file令牌,并且您想知道此文件何时会完成,即何时会获得end of file令牌。

现在有2种选择:

  1. 你知道这是网上下载文件的过程中,在这种情况下有可能与过程同步。这似乎不太可能,因为你可能不知道该文件。它可能是任何使用情况下的随机文件。

  2. 你只能做错误处理,如果它不是第一个选项。大概等待eof令牌一段时间t和定时器到期后,再次读取文件的大小,如果它增加了,这意味着读一些更多的字节,并再次启动定时器的相同的过程。缺点是它可能需要无限的时间,所以你必须有一些机制来突破它之间的任何时间。

这个问题似乎没有明确的答案。这完全取决于你的用例。 只有选项似乎在运行时检查修改日期(如@Peter提到的)或读取文件大小,然后根据您的用例处理它。

相关问题