Java是关键.我需要能够删除文件,但用户希望能够从回收站"取消删除".据我所知,这是不可能的.有人知道吗?
由于各种原因,Windows 没有对应于回收站的文件夹的概念.
正确的方法是使用JNI调用Windows SHFileOperation
API,FO_DELETE
在SHFILEOPSTRUCT
结构中设置标志.
SHFileOperation文档
使用SHFileOperation复制文件的Java示例(同一篇文章中的回收站链接不起作用)
十年后,使用Java 9,最终有一种将文件移动到垃圾箱的内置方法
java.awt.Desktop.moveToTrash(java.io.File)
:
public boolean moveToTrash?(File file)
将指定的文件移动到废纸篓.
参数:
file - 文件
返回:
如果成功将文件移动到废纸篓,则返回true.
可以使用此功能测试底层平台的此功能的可用性Desktop.isSupported?(Desktop.Action.MOVE_TO_TRASH)
.