2012-02-16 65 views
3

是它在某种程度上可以测试是否java.io.File的是目前在任何过程中的另一个进程中打开?我正在使用Java 7,目标平台是Linux/Windows/Mac。如何测试一个文件是否在Java中打开?

+2

看看[这个](http://stackoverflow.com/questions/1390592/java-check-if-file-is-already-open) – DonCallisto 2012-02-16 19:06:52

+0

如果你告诉我们*为什么*你可能需要帮助去做这个。通过提你的问题的情况下,你可能会得到更好的解决您的整体问题... – thkala 2012-02-16 19:17:20

+1

- 我已经在使用WatchService API。但它只触发修改,删除和创建的事件。我没有看到任何可能性来组合这些来检查文件是否打开。我目前正在构建一个分布式文档管理工具。我们的目标是锁定文件目前一个用户正在编辑,所以它们共享相同的文件(通过MySQL的),其他用户不能同时编辑同一个文件...的FileLock不是独立于平台.... – salocinx 2012-02-16 19:51:38

回答

1

没有在Java中没有简单的方法去了解这一点,会在不同的平台上可靠地工作。这取决于你想做什么,你也许能够拼凑了一系列的try/catch语句这显然是因为大多数情况下,工作的大多数文件系统上的,但你永远无法有充分的把握,未来形势遇到韩元”不要扔掉它。

如果你最终会要保证当有任何疑问,失败快,不进入它认为一个文件时,它确实是不开放的情况这条路线。我的建议是查看是否有任何方法可以解决此问题。

+0

谢谢mandaleeka。我会认为这是一个选项:-( – salocinx 2012-02-16 20:01:14

相关问题