Java如何将文件删除到回收站呢?

戚薇 Java经验 发布时间:2023-04-11 22:20:38 阅读数:13635 1
下文笔者讲述使用java代码将文件删除到回收站的方法分享,如下所示

文件删除到回收站

方式1:
   使用jna包中的方法
 
方式2:
   java9及以上可使用Desktop.class完成文件移动到回收站
例1:jna删除文件
//1.引入jar包

<dependency>
    <groupId>net.java.dev.jna</groupId>
    <artifactId>jna-platform</artifactId>
    <version>4.0.0</version>
</dependency>

//2.代码实现文件移动至回收站
/*
 * 将文件放到回收站
 * @attention: 不管路径有没有路径分隔符,都将视作没有处理,例如:
 * C:\Users\java265\Desktop\test
 * C:\Users\java265\Desktop\test\
 * 删除"test" 整个文件夹 
 * @param: filePath 文件绝对路径
 * @return: boolean 成功/失败
 */
public static boolean moveFileToTrash(String filePath) {
    
    if (filePath == null || filePath.isEmpty()) {
        log.info("filePath shouldn't be null (or) empty");
        return true;
    }

    File file = new File(filePath);
    if (!file.exists()) {
        log.info("File is not exist, seems to be it is already deleted");
        return true;
    }

    com.sun.jna.platform.FileUtils fileUtils = com.sun.jna.platform.FileUtils.getInstance();

    // 检测当前系统没有回收站的话,进行提醒
    if (!fileUtils.hasTrash()) {
        log.error("No Trash available");
        return false;
    }

    // 有回收站就会将文件放到回收站中
    try {
        fileUtils.moveToTrash(new File[] { new File(filePath) });
        log.info("文件/文件夹已被放入回收站");
        return true;
    } catch (IOException e) {
        log.error("Error while moving the file to trash " + e.getMessage());
        return false;
    }
} 
例2:使用java9中的新方法
Desktop.getDesktop().moveToTrash(file);
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202304/16812228816220.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者