Java实现Windows删除文件到回收站

0

Java默认提供的文件删除方法是不支持删除后放到回收站的,所以自己实现了这个功能。

我这里测试用的Win10,Win7没有测试。

回收站其实就是一个操作系统文件,我们可以在查看中将其显示出来:

Windows文件夹选项

或者直接使用Chrome浏览器查看:

Windows回收站

箭头所指就是回收站的路径,这里面有几个文件夹,对应多个用户。

红色框里面的就是对应一个删除的文件,$I开头的就是删除文件信息,$R开头的就是原始文件。
目录也是一样的道理。

删除文件信息里面记录了删除文件的原始文件路径,删除时间等信息,使用小端模式,如下图:

删除文件信息

第一个方框:删除时间,和Java时间戳不一样,开始时间是1601年1月1日开始,转换为微秒*10,即为时间戳。
第一个圆框:文件路径所占长度(char)。
第二个方框:文件路径。

实现代码:https://gitee.com/acgist/snail/blob/master/snail/src/main/java/com/acgist/snail/context/recycle/WindowsRecycle.java