精华内容
下载资源
问答
  • java删除文件或文件夹方法java里面删除文件夹时候,如果该文件夹下有内容,即其下包含的有文件或文件夹,当你执行java.io.File.delete(File file)方法时候,不能成功删除,那么如果我们想成功删除,该怎么办的,那...

    java删除文件或文件夹的方法

    java里面删除文件夹时候,如果该文件夹下有内容,即其下包含的有文件或文件夹,当你执行

    java.io.File.delete(File file)方法时候,不能成功删除,那么如果我们想成功删除,该怎么办的,那就要先删除该文件夹下面的内容,代码如下:

    /**

    * 删除文件或文件夹

    * @param file

    */

    public static void deleteFile(File file){

    if(file.exists()){

    try{

    //如果是文件夹,先删除当前文件夹下的所有文件或文件夹

    if(file.isDirectory()){

    //获得当前文件夹下的所有文件或文件夹

    File[] files = file.listFiles();

    //当前文件夹不为空

    if(files.length > 0){

    for(File aFile:files){

    //递归调用

    deleteFile(aFile);

    }

    }

    }

    //删除文件或文件夹

    file.delete();

    }

    catch(Exception e){

    e.printStackTrace();

    }

    }

    }

    相关文档:

    OO的精髓,我以为,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。(cowboy的名言是"抽象就是抽去像的部分",看似调侃,实乃至理)。

    设计模式中最基础的是工厂模式(Factory),在我最 ......

    别的都不说了,我的感觉是学习到了一种框架的思想:就是开发一个基础框架,然后这个框架再别的地方一样可以使用!

    比较重要的知识点:

    1: HTTP 协议解析,

    2:封装response 、request

    3:给系统定制日志组件

    4:给系统添加配置文件,增加了系统的灵活性和耦合性.这里主要是用的一个开源项目(据说Tomcat就是用的这个开� ......

    这里总结一下XML文件的读写过程,先说一下写的过程,这里我用的是XmlDocument的write方法实现的,写的过程是比较简单的,只需要定义自己想要的元素变量,

    Element user=null;

    Element username=null,password=null;

    然后

    //    定义工厂,使应用程序能够从 XML � ......

    在网上找了点基础题目,自己做了做,下面是题目:

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。

    2.字符串的操作:

    写一个方法,实现字符串的反转,如:输入abc,输出cba

    写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtc ......

    在linux/unix下,你是怎么中止一个java进程的?

    你可能会回答 kill -9 pid,这是一种在多数情况下正确的做法。不过,这种方式过于暴力,如果用户对环境不熟悉,很容易造成致命的后果。

    本文将分析kill -9产生问题的原因,并给出另一种标准的kill方式。

    标准中断信号

    在Linux信号机制中,存在多种进程中断信号(Linux� ......

    展开全文
  • 面的四个方法都可以删除文件或文件夹,它们的共同点是:当文件夹中包含子文件的时候都会删除失败,也就是说这四个方法只能删除文件夹。 File类的delete() File类的deleteOnExit() Files.delete(Path path) Files....

    一、删除文件或文件夹的四种基础方法

    面的四个方法都可以删除文件或文件夹,它们的共同点是:当文件夹中包含子文件的时候都会删除失败,也就是说这四个方法只能删除空文件夹。

    • File类的delete()
    • File类的deleteOnExit()
    • Files.delete(Path path)
    • Files.deleteIfExists(Path path);

    在这里插入图片描述

    //false只能告诉你失败了 ,但是没有给出任何失败的原因
    @Test
    void testDeleteFileDir1()  {
       File file = new File("D:\\data\\test");
       boolean deleted = file.delete();
       System.out.println(deleted);
    }
    
    //void ,删除失败没有任何提示,应避免使用这个方法,就是个坑
    @Test
    void testDeleteFileDir2()  {
       File file = new File("D:\\data\\test1");
       file.deleteOnExit();
    }
    
    
    //如果文件不存在,抛出NoSuchFileException
    //如果文件夹里面包含文件,抛出DirectoryNotEmptyException
    @Test
    void testDeleteFileDir3() throws IOException {
       Path path = Paths.get("D:\\data\\test1");
       Files.delete(path);   //返回值void
    }
    
    //如果文件不存在,返回false,表示删除失败(文件不存在)
    //如果文件夹里面包含文件,抛出DirectoryNotEmptyException
    @Test
    void testDeleteFileDir4() throws IOException {
       Path path = Paths.get("D:\\data\\test1");
       boolean result = Files.deleteIfExists(path);
       System.out.println(result);
    }
    
    

    二、如何删除整个目录或者目录中的部分文件

    前提准备

    在这里插入图片描述

    可以使用代面的代码进行创建

    private  void createMoreFiles() throws IOException {
       Files.createDirectories(Paths.get("D:\\data\\test1\\test2\\test3\\test4\\test5\\"));
       Files.write(Paths.get("D:\\data\\test1\\test2\\test2.log"), "hello".getBytes());
       Files.write(Paths.get("D:\\data\\test1\\test2\\test3\\test3.log"), "hello".getBytes());
    }
    
    

    2.1. walkFileTree与FileVisitor

    • 使用walkFileTree方法遍历整个文件目录树,使用FileVisitor处理遍历出来的每一项文件或文件夹
    • FileVisitor的visitFile方法用来处理遍历结果中的“文件”,所以我们可以在这个方法里面删除文件
    • FileVisitor的postVisitDirectory方法,注意方法中的“post”表示“后去做……”的意思,所以用来文件都处理完成之后再去处理文件夹,所以使用这个方法删除文件夹就可以有效避免文件夹内容不为空的异常,因为在去删除文件夹之前,该文件夹里面的文件已经被删除了。
    @Test
    void testDeleteFileDir5() throws IOException {
       createMoreFiles();
       Path path = Paths.get("D:\\data\\test1\\test2");
    
       Files.walkFileTree(path,
          new SimpleFileVisitor<Path>() {
             // 先去遍历删除文件
             @Override
             public FileVisitResult visitFile(Path file,
                                      BasicFileAttributes attrs) throws IOException {
                Files.delete(file);
                System.out.printf("文件被删除 : %s%n", file);
                return FileVisitResult.CONTINUE;
             }
             // 再去遍历删除目录
             @Override
             public FileVisitResult postVisitDirectory(Path dir,
                                             IOException exc) throws IOException {
                Files.delete(dir);
                System.out.printf("文件夹被删除: %s%n", dir);
                return FileVisitResult.CONTINUE;
             }
    
          }
       );
    
    }
    
    

    2.2.Files.walk

    • 使用Files.walk遍历文件夹(包含子文件夹及子其文件),遍历结果是一个Stream
    • 对每一个遍历出来的结果进行处理,调用Files.delete就可以了。
    @Test
    void testDeleteFileDir6() throws IOException {
       createMoreFiles();
       Path path = Paths.get("D:\\data\\test1\\test2");
    
       try (Stream<Path> walk = Files.walk(path)) {
          walk.sorted(Comparator.reverseOrder())
             .forEach(DeleteFileDir::deleteDirectoryStream);
       }
    
    }
    
    private static void deleteDirectoryStream(Path path) {
       try {
          Files.delete(path);
          System.out.printf("删除文件成功:%s%n",path.toString());
       } catch (IOException e) {
          System.err.printf("无法删除的路径 %s%n%s", path, e);
       }
    }
    
    

    问题:怎么能做到先去删除文件,再去删除文件夹? 。 利用的是字符串的排序规则,从字符串排序规则上讲,“D:\data\test1\test2”一定排在“D:\data\test1\test2\test2.log”的前面。所以我们使用“sorted(Comparator.reverseOrder())”把Stream顺序颠倒一下,就达到了先删除文件,再删除文件夹的目的。

    2.3.传统IO-递归遍历删除文件夹

    //传统IO递归删除
    @Test
    void testDeleteFileDir7() throws IOException {
       createMoreFiles();
       File file = new File("D:\\data\\test1\\test2");
       deleteDirectoryLegacyIO(file);
    
    }
    
    
    private void deleteDirectoryLegacyIO(File file) {
    
       File[] list = file.listFiles();  //无法做到list多层文件夹数据
       if (list != null) {
          for (File temp : list) {     //先去递归删除子文件夹及子文件
             deleteDirectoryLegacyIO(temp);   //注意这里是递归调用
          }
       }
    
       if (file.delete()) {     //再删除自己本身的文件夹
          System.out.printf("删除成功 : %s%n", file);
       } else {
          System.err.printf("删除失败 : %s%n", file);
       }
    }
    
    
    • listFiles()方法只能列出文件夹下面的一层文件或文件夹,不能列出子文件夹及其子文件,如果这个抽象路径名不表示一个目录,那么这个方法返回null。否则File对象数组返回。
    • 先去递归删除子文件夹,再去删除文件夹自己本身
    展开全文
  • Publish: August 19, 2016Category: 文档No Comments当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来...

    Publish: August 19, 2016

    Category: 文档

    No Comments

    当我们在linux系统中要删除数万或者数十万甚至数百万的文件时使用rm -rf *就不太好用,因为要等待很长一段时间。在这种情况之下我们可以使用linux系统命令rsync来巧妙的处理。rsync实际上用的是替换原理,处理数十万个文件也是秒删。

    方法见下:

    1)首先建立一个空白文件夹。mkdir /tmp/empty

    2)之后使用以下语句即可快速的删除文件。

    rsync --delete-before -d -a -H -v --progress --stats /tmp/empty/ /home/cache/

    或者rsync --delete-before -d /tmp/empty/ /home/cache/

    这样/home/cache/目录就被快速的清空了。

    也可以用来删除大文件

    假如我们在/root/下有一个几十G甚至上百G的文件data,现在我们要删除它

    一、创建一个空文件touch /root/empty

    二、用rsync清空/root/data文件

    rsync --delete-before -d --progess --stats /root/empty /root/data

    注意:

    当SRC和DEST文件性质不一致时将会报错

    当SRC和DEST性质都为文件【f】时,意思是清空文件内容而不是删除文件

    当SRC和DEST性质都为目录【d】时,意思是删除该目录下的所有文件,使其变为空目录

    请为这篇文章评分:

    2671074cfa3e5c158b3876d60fe9a6f4.png

    2671074cfa3e5c158b3876d60fe9a6f4.png

    2671074cfa3e5c158b3876d60fe9a6f4.png

    2671074cfa3e5c158b3876d60fe9a6f4.png

    2671074cfa3e5c158b3876d60fe9a6f4.png

    ( 已有 1 人评分, 平均得分: 5 分 )

    展开全文
  • 不多说,直接上代码public class Test {public static void deleteFile(File file) {if (file.exists()) {if (file.isFile()) {file.delete();}else if (file.isDirectory()) {deleteDirectory(file);...

    不多说,直接上代码

    public class Test {

    public static void deleteFile(File file) {

    if (file.exists()) {

    if (file.isFile()) {

    file.delete();

    }

    else if (file.isDirectory()) {

    deleteDirectory(file);

    }

    }

    }

    private static void deleteDirectory(File file) {

    File files[] = file.listFiles();

    for (int i = 0; i < files.length; i++) {

    if (files[i].isFile()) {

    files[i].delete();

    }

    else if (files[i].isDirectory()) {

    deleteDirectory(files[i]);

    }

    }

    file.delete();

    }

    /**

    * @param args

    */

    public static void main(String[] args) {

    deleteFile(new File("d:\\//tmp/"));

    }

    }

    展开全文
  • 一、场景描述假如你要在linux下删除大量文件,比如100万、1000万,像/var/spool/clientmqueue/的mail邮件, 像/usr/local/nginx/proxy_temp的nginx缓存等,那么rm -rf *可能就不好使了。二、解决方案rsync提供了一些...
  • 转载:https://blog.csdn.net/qq_31939617/article/details/89414714【功能】delete(String delFile):删除文件或文件夹deleteSingleFile(String filePath$Name):删除文件deleteDirectory(String filePath):删除...
  • 你可能时常遇到无法删除Windows上的文件文件夹的情况,并且会收到“无法删除文件:访问被拒绝”“该文件已被其他程序打开”诸如此类的错误消息。 这意味着这些文件文件夹在Windows中被锁定,无法以常规方式...
  • 文件 文件夹的操作方法 学习目标 1 掌握文件或文件夹的选定与取消选定方法 2 掌握移动 复制文件或文件夹方法以及移动与复制的区别 3 掌握删除与恢复文件或文件夹方法 2020 1 24 2 自学指导 结合下面的问题 自学...
  • 与Python中文件文件夹操作的方法看这一篇就够啦
  • 例子:复制代码 代码示例://删除指定目录(文件夹)中的所有文件函数function delfile($dir) {if (is_dir($dir)) {$dh=opendir($dir);//打开目录//列出目录中的所有文件并去掉 . 和 ..while (false !== ( $file = ...
  • 使用python删除一个文件或文件夹,需要使用os模块。import osos.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除os.rmdir(path) # path是文件夹路径,...
  • qt删除文件或文件夹

    2021-02-23 10:31:44
    想用QT编一段删除文件夹或文件的代码,网上搜索了很多,关于删除文件夹都用递归删除方法,因为非空文件夹不能直接删除,只能先清空文件夹里的东西,才能执行删除文件夹的操作。实际上QT5之后有更简便的方法,就是...
  • 为了方便大家理解,我特意制作了本文对应的视频:总结删除文件或者文件夹的7种方法一、删除文件或文件夹的四种基础方法下面的四个方法都可以删除文件或文件夹,它们的共同点是:当文件夹中包含子文件的时候都会删除...
  • 由于本地修改了文件夹大全名大小写的原因,同步到git上并不区分大小写,造成了一些文件同步不了,所以要先把git远程库上文件夹删除掉,然后再重新同步如下,我把src里的全部移除,但是本地文件还保留。git rm -r -n ...
  • 生活工作中我们可能 文件文件夹重命名的问题,类似于这样,如果只是几个还好,要是多了,处理起来真的累。 那我们要如何才能重命名这些文件以及文件夹呢? 好了只需简单几步,即可完成。我查了很多资料,总结了...
  • java下载文件或文件夹

    千次阅读 热门讨论 2020-12-31 16:00:38
    最近接到一个需求,就是将远程目录下的文件或文件夹下载到指定目录下,下面来看下最后的成果。 1.首先,IO流输出文件(可以在浏览器端下载) public HttpServletResponse download(String fileName, ...
  • java删除指定目录中的文件或文件夹package tf;import java.io.File;public class DelFile {public static void main(String[] args) {scanAllFile(new File("E:/ACD2.0"), "svn", ".dat", ".vvb");System.out....
  • Python之文件处理-递归删除特定文件 #!/usr/bin/env python # -*- coding:utf-8 -*- import os def delete_particular_file(top): for root, dirs, files in os.walk(top, topdown=False): for file_name in files: ...
  • 1.rd /? 命令帮助 删除文件夹 rd /S 文件夹路径 2.删除文件 del 文件名.后缀
  • 类似于高级API,而且主要强大之处在于其对文件的复制与删除操作更是比较支持好。 比如: copyfile(src, dst) 是把源文件拷贝到一个目标位置。 希望本文所述对大家的Python程序设计有所帮助。 本条技术文章来源于...
  • 我用的是Linux虚拟空间,每当升级论坛博客程序后,就会有些旧的文件或文件夹异常“顽固”无法删除,不管是FTP工具还是WEB管理工具都没 辙,只得通知客服协助删除一下。不过总这样总归不是个好办法,且很不方便。...
  • 隐藏文件或文件夹如果不希望某些文件夹或文件被别人看到,可以将它们隐藏起来!下面是具体操作方法。步骤1:在“我的电脑”窗口中右击文件或文件夹,从弹出的快捷菜单中选择“属性”(参见图1左图),打开文件属性对话框...
  • 为了方便大家理解,我特意制作了本文对应的视频:总结删除文件或者文件夹的7种方法一、删除文件或文件夹的四种基础方法下面的四个方法都可以删除文件或文件夹,它们的共同点是:当文件夹中包含子文件的时候都会删除...
  • 在项目中如果有文件上传的时候,通常情况下,我们需要对上传的文件进行维护,一般的维护就是删除文件或删除文件夹文件夹下的文件,下面的方法则实现了这个需求:/*** 删除文件夹文件夹下的文件* @param delpath*...
  • 在平时删除文件夹或文件内的某些文件或者文件夹,我们可以使用脚本快进行删除。例如,在打包公司 团队项目模板是时需要删除 bin obj 文件等等。 脚本 @echo off set nowPath=%cd% cd / cd %nowPath% ::delete ...
  • 如何在Windows cmd上递归删除文件或文件夹? for /r %R in (.gif) do if exist %R (rd /s /q "%R") / q禁用是/否提示 / s表示删除所有子目录中的文件 del /s /q .gif rmdir /s /q .gif del /S *.gif 批量删除...
  • 下面,小编就和大家说一下删除文件或文件夹时出错无法删除访问的解决方法吧!步骤如下:情况1:删除正在被系统使用的文件或者文件夹时解决方法:如为程序,请正常退出,也可以使用Ctrl+Alt+Del键,打开任...
  • 使用ls -i命令找到文件或文件夹的...这样就成功删除乱码文件了,值得注意的是,此方法只适用于删除文件或空的文件夹。(未考证)使用find的-exec参数执行rm命令find . -inum 1046808 -exec rm {} -rf ; #这里可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 888,298
精华内容 355,319
关键字:

删除文件或文件夹的方法是