使用java撤消文件/文件夹操作

使用java撤消文件/文件夹操作,java,Java,我希望使用java实现用于编辑/删除/移动等的撤消/重做文件/文件夹功能。可能吗 详细信息:我正在使用javaFileWatcher查看给定文件夹,我从watcher收到一条消息,如果创建/编辑/删除/重命名任何文件/文件夹。现在我想,如果任何用户删除/创建了任何文件/文件夹,我就可以使用java撤销它。有人能帮忙吗 注意:我正在使用windows 提前感谢。不可能,删除是最终的,操作系统中没有类似的回收站,您必须自己实现。不可能,删除是最终的,操作系统中没有类似的回收站,您必须自己实现。作为一

我希望使用java实现用于编辑/删除/移动等的撤消/重做文件/文件夹功能。可能吗

详细信息:我正在使用
javaFileWatcher
查看给定文件夹,我从watcher收到一条消息,如果创建/编辑/删除/重命名任何文件/文件夹。现在我想,如果任何用户删除/创建了任何文件/文件夹,我就可以使用java撤销它。有人能帮忙吗

注意:我正在使用windows


提前感谢。

不可能,删除是最终的,操作系统中没有类似的回收站,您必须自己实现。

不可能,删除是最终的,操作系统中没有类似的回收站,您必须自己实现。

作为一个开端,请看一下。这通常是撤消/重做操作的实现方式。其思想是将操作中“重要”的所有内容存储到单个对象中,并将其存储在有序集合中

在您的情况下,您希望监视FS而不是您自己的数据模型这一事实让事情变得非常困难。然而,如果你能负担得起冗余的数据存储,那么我认为假设可以做到。(我建议您阅读git SCM的工作方式。我的意思是,它将所有内容存储在一个
.git
文件夹中,并且能够从存储的压缩数据中恢复所谓工作目录中的任何以前的状态。)

事实上,如果你能让git参与到你的程序中,那就容易多了。我认为您在想要监督的目录中初始化了一个git repo,然后每当您收到关于某些FS更改的通知时,您可以要求git(
git status
)告诉您实际更改了哪些文件。甚至删除的文件也可以使用简单的git命令恢复


这远不是你问题的完整答案,但我可能会给出一些想法。祝你好运。

作为一个开始的想法,请看一下。这通常是撤消/重做操作的实现方式。其思想是将操作中“重要”的所有内容存储到单个对象中,并将其存储在有序集合中

在您的情况下,您希望监视FS而不是您自己的数据模型这一事实让事情变得非常困难。然而,如果你能负担得起冗余的数据存储,那么我认为假设可以做到。(我建议您阅读git SCM的工作方式。我的意思是,它将所有内容存储在一个
.git
文件夹中,并且能够从存储的压缩数据中恢复所谓工作目录中的任何以前的状态。)

事实上,如果你能让git参与到你的程序中,那就容易多了。我认为您在想要监督的目录中初始化了一个git repo,然后每当您收到关于某些FS更改的通知时,您可以要求git(
git status
)告诉您实际更改了哪些文件。甚至删除的文件也可以使用简单的git命令恢复


这远不是你问题的完整答案,但我可能会给出一些想法。祝你好运。

git也能与mac一起使用吗?你能给我一些关于如何使用git的参考资料吗?谢谢你的好主意!git肯定会在mac、linux和windows上很好地工作。实际上,确保安装了git,然后可以从Java程序调用git命令并解析结果。看看这个例子:如果你不熟悉git,那么选择google给你的随机git教程。基本上,您可以在要监视的文件夹中发出
git init
,然后首先必须添加
git。
所有文件和
git commit-m“initial state”
第一个版本。然后更改一些内容并查看git状态。git是否也可以与mac一起工作,您能否给出一些如何开始使用git的参考资料,谢谢您的精彩创意!git肯定会在mac、linux和windows上很好地工作。实际上,确保安装了git,然后可以从Java程序调用git命令并解析结果。看看这个例子:如果你不熟悉git,那么选择google给你的随机git教程。基本上,您可以在要监视的文件夹中发出
git init
,然后首先必须添加
git。
所有文件和
git commit-m“initial state”
第一个版本。然后更改一些内容并查看
git状态
。。