gpt4 book ai didi

java - 手动保存时用java读取文件

转载 作者:行者123 更新时间:2023-12-04 06:31:47 25 4
gpt4 key购买 nike

我有一个关于 java 和文件输入/输出的问题。
对于特定任务,我必须在打开文件时传输文件(准确地说是 excel)。
想象以下场景:

一个用户打开并使用一个 excel 文件。有时,文件由用户手动保存。现在我想编写一个 java 程序,它每 30 秒读取一次文件并通过套接字传输一次。到目前为止没有问题。我的问题:如果用户在我的程序想要读取文件的确切时刻保存文档会发生什么。这会引起任何麻烦吗?

不知道这是否重要,但我使用 BufferedInputStream 来读取文件。

最佳答案

My question: what happens if the user saves the document in the exact moment my program wants to read the file. Could this cause any troubles?



是的。

根据您的平台以及 Excel 文件的保存方式,可能会发生以下一种或多种情况。
  • 如果 Excel 使用锁定,则 Excel 或尝试读取文件的程序可能会收到错误消息,指出文件正在使用中。
  • 如果 Excel 进行了适当的重写并且没有锁定文件,则尝试读取该文件的程序可能会看到一个被截断的 Excel 文件。
  • 如果 Excel 写入一个新文件并将其重命名,则尝试读取该文件的程序可能会看到一个状态
    该文件显然不存在的地方。
  • 它可以工作。

  • 总之,做阅读的程序需要非常防御......

    Don't know if it matters, but im using an BufferedInputStream to read the file.



    我认为这无关紧要。

    关于java - 手动保存时用java读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5325939/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com