Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java获取文件关闭事件_Java_File Io_Awt_Processbuilder_Mongo Java - Fatal编程技术网

如何使用java获取文件关闭事件

如何使用java获取文件关闭事件,java,file-io,awt,processbuilder,mongo-java,Java,File Io,Awt,Processbuilder,Mongo Java,我的应用程序使用java将excel文件数据保存在数据库(mongodb)中 在用户单击“我的应用程序”后即可执行 首先在本地文件系统上创建一个excel文件,例如C:\ali.xlsx并将数据放在excel文件上 使用java.awt.DesktopclassOpen方法打开excel文件C:\ali.xlsx,用于跨平台透视图 当用户关闭文件C:\ali.xlsx时,将获得其关闭事件,以便我获得文件更新值并将其保存到数据库中 从本地文件系统中删除文件C:\ali.xlsx 我的问题: 如

我的应用程序使用
java
将excel文件数据保存在数据库(
mongodb
)中

在用户单击“我的应用程序”后即可执行

  • 首先在本地
    文件系统
    上创建一个excel文件,例如
    C:\ali.xlsx
    并将数据放在excel文件上
  • 使用
    java.awt.Desktop
    class
    Open
    方法打开excel文件
    C:\ali.xlsx
    ,用于
    跨平台
    透视图
  • 当用户关闭文件
    C:\ali.xlsx
    时,将获得其关闭事件,以便我获得文件更新值并将其保存到
    数据库中

  • 从本地
    文件系统中删除文件
    C:\ali.xlsx

我的问题:
如何实施第三个要点
简而言之:如何使用
java
获取任何文件的
close
事件



如果有人有其他方法来实现此功能,请告诉我这也是我编写应用程序流的原因。

我不知道任何简单的方法,上坡(:-)的方法是:

  • 使用,()监视文件系统
  • 如果修改Excel文件,如果不修改,请执行下一步

如果我理解正确,您有一个Excel工作表,并且希望在每次更新时将此数据保存到mongodb。
对于您的请求,没有可用的触发器。相反,您可以定期读取文件并检查“lastModified”属性。或者,当您每次删除文件时,这意味着如果该文件存在,您就有一个更新。

这实际上是文件处理器的关闭事件,而不是文件。您的意思是从Java应用程序中关闭该文件吗?如果只是一个临时的“运行时”的东西,为什么还要有excell文件呢?我不知道,你想归档什么,但是。。。。使用ApachePOI以编程方式编写excel文件怎么样?或者根本不使用excel文件?您的用例是什么?@Stultuske在java应用程序运行时获取本机桌面的关闭文件事件。当然,这是一个临时文件,我也使用file.createTempFile,但同样的问题是无法获得用户更新值。@bobbel我正在本地文件系统之上创建一个文件系统,它具有像文件系统一样保存文件的功能。但出于最初的目的,我的文件系统正在保存excel文件。单击,我在Windows操作系统路径中的临时文件上打开excel文件,并使用桌面类java打开它。用户可以像处理本地文件系统中的excel工作表一样工作。我想观看此临时文件关闭事件,以便获取excel临时文件数据并将其保存到数据库在用户关闭文件时删除文件?例如,用户可以打开100个文件,然后我必须定期检查所有文件的值。这将如何影响性能??WatchService-感谢您提出此问题。我以前不知道这件事。如果用户打开100个excel文件进行阅读,会有很多问题吗?不从性能视图更新任何内容-不,在这里打开100个文件将是一个问题,如果有的话。然而,若你们想在Excel文件被关闭时做出反应,不管它是否被更改——我提出的方法是不可能的。