【问题标题】:detecting if any BufferedReader is reading from file?检测是否有任何 BufferedReader 正在从文件中读取?
【发布时间】:2011-12-05 12:49:54
【问题描述】:

我想知道是否有可能检测到任何 BufferedReader 正在从任何其他 java 程序读取文件,该程序将充当 Bufferedreaders 的检测器。

谢谢。

【问题讨论】:

  • 最好不要知道这一点。你为什么想要这些信息?
  • 您是否尝试检测BufferedReader 是否正在读取其他程序也在读取的文件?我无法完全解析你的问题。你能添加更多细节和标点符号吗?

标签: java file bufferedreader


【解决方案1】:

一般来说,您无法判断其他程序是否正在读取文件。其他程序是否为 Java 或 Java 程序是否使用BufferedReader 都无关紧要。你不能这样做......除非你实现了一个荒谬的基础设施,以允许一个 Java 应用程序可以挖掘另一个 Java 应用程序的内部。

正如@Peter Lawrey 所说,您最好编写自己的应用程序,这样它就不需要检测其他应用程序中的缓冲。

【讨论】:

  • 好的,谢谢,但我想检测是否有任何 BufferedReader 或说 InputStream 正在读取文件。任何有关此的文档。
  • @RamIndani - “任何文档”。为了什么?因为你做不到?我严重怀疑!人们为你能做的事情而不是你不能做的事情编写文档。
  • @RamIndani - 如果您告诉我们您真正想要实现的目标,我们可能会为您提供一些替代方法。但在你这样做之前,“你做不到”是我们能给出的最佳答案。
  • 感谢您的回复,我将尝试找出其他方法来实现相同的结果,例如检测所有读取文件的 BUffer。
  • @RamIndani - 不要浪费你的时间。你也不能这样做。
【解决方案2】:

您只是想知道还是阻止它?为防止您可以使用file lock(通过流中的通道获取)。

如果您只是想知道,大多数操作系统都不支持。通常许多进程可以同时读取同一个文件,但只有一个进程可以写入。

嗯,但是为什么你需要知道呢?

【讨论】:

    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 2019-01-01
    • 2017-08-12
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多