文件不会被发送到垃圾箱,而是被永久删除

文件不会被发送到垃圾箱,而是被永久删除

当我启动计算机时,我注意到:

  • 文件管理器中缺少垃圾桶图标;
  • 当我尝试删除文件时出现此消息:

您确定要永久删除“testFile”吗?
如果删除文件,它将永久丢失。

  • 我无法将已删除的文件恢复到之前的位置。我可以手动操作,但没有恢复功能

我竭尽全力apt-get updateapt-get update试图apt-get update --fix-missing修复任何破损的东西。

昨天一切都正常。但是,我一直在开发一个将文件发送到垃圾箱的 Java 项目。我大约一个月前做的,所以我不确定它是否相关,但这是测试代码:

公共类SendToTrashTest
{
    公共静态void main(String ... args)
    {
        尝试 {
            文件 f=新文件(“test11”);
            f.创建新文件();
            发送至垃圾桶(f);
        } 捕获 (IOException e) {
            // TODO 自动生成的 catch 块
            打印StackTrace();
        }
    }
    公共静态无效sendToTrash(文件f)
    {
        尝试 {
            字符串 s[]=f.getAbsolutePath().split(File.separator);
            字符串baseName=s[s.length-1],name=baseName;
            文件 trashInfoFile=new File(System.getProperty("user.home")+"/.local/share/Trash/info",name+".trashinfo");
            //处理重复文件
            对于(int i=2;trashInfoFile.exists();i++)
            {
                名称=baseName+="。"+i;
                trashInfoFile=new File(System.getProperty("user.home")+"/.local/share/Trash/info",name+".trashinfo");
            }           
            //将文件移至垃圾箱
            文件垃圾文件=新文件(System.getProperty(“user.home”)+“/.local/share/Trash/files”,name);
            文件.移动(f.toPath(),trashFile.toPath(),StandardCopyOption.REPLACE_EXISTING);

            //创建用于恢复垃圾文件的垃圾信息文件
            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            日历 cal = Calendar.getInstance();
            创建新文件();
            PrintWriter 输出=新的 PrintWriter(trashInfoFile);
            out.println(“[垃圾箱信息]”);
            输出“Path=”+f.getAbsolutePath();
            //例如删除日期:DeletionDate=2014-03-01T23:38:18
            out.println("删除日期="+dateFormat.format(cal.getTime()).replace(" ", "T"));
            退出.关闭();
        }
        捕获 (IOException e) {
            打印StackTrace();
        }

    }
}

我不知道如何解决我的问题,因此如果能得到任何帮助我将不胜感激,并提前致谢。

答案1

打开 Nautilus 文件管理器并转到编辑 => 首选项 => 行为

在此处输入图片描述

在垃圾下选择该选项

我希望这能有所帮助

相关内容