Java中的扫描器是否阻止文件输入?
我目前正在编写一个日志读取器,它应该扫描当前正在写入的日志文件,然后将数据上传到服务器。文件每小时更改一次。我想知道scanner中的next()方法是否像用于标准输入一样用于文件结尾。我无法在谷歌搜索中在线找到这些信息Java中的扫描器是否阻止文件输入?,java,text,io,Java,Text,Io,我目前正在编写一个日志读取器,它应该扫描当前正在写入的日志文件,然后将数据上传到服务器。文件每小时更改一次。我想知道scanner中的next()方法是否像用于标准输入一样用于文件结尾。我无法在谷歌搜索中在线找到这些信息 谢谢。这似乎不太可能,因为一旦到达文件末尾,它就假定已经完成,因为它无法知道文件可能会更改 我还建议您查看扫描仪的源代码,以便进行仔细检查。技术上正确的答案:是的,扫描仪使用标准IO调用,这可能会阻止输入。当数据不可用但尚未到达文件末尾时,它将执行此操作。如果是从套接字读取,则
谢谢。这似乎不太可能,因为一旦到达文件末尾,它就假定已经完成,因为它无法知道文件可能会更改
我还建议您查看扫描仪的源代码,以便进行仔细检查。技术上正确的答案:是的,扫描仪使用标准IO调用,这可能会阻止输入。当数据不可用但尚未到达文件末尾时,它将执行此操作。如果是从套接字读取,则会出现这种情况
您正在寻找的答案:在您描述的情况下,扫描仪不会阻塞,因为它已到达文件末尾。即使将来可能会写入文件,当您尝试读取文件结尾时也会生成EOF。您可以在大约5分钟内轻松尝试此操作,无需重新发明轮子:感谢您的帮助,Duncan。感谢您的准确和成功响应。