`

java学习笔记:File类的listFiles方法,及使用匿名内部类和递归调用

    博客分类:
  • java
阅读更多

1.File类的带参数的list方法的使用

2.复习使用匿名内部类,快要忘了,晕...

直接贴上BBCode模式

 

 

 

 

//查找当前目录中的所有文本文件

 

import java.io.*;   

 

public static void findFile()

{

    sop(111);

    File dir = new File("D:\\Personal\\Desktop\\java\\code\\codeSave");

 

    //因为过滤器FilenameFilter接口中只有一个方法需要实现,所以就用匿名内部类

    String[] strArr =

    dir.list(  

                new FilenameFilter()

                {

                    public boolean accept(File file,String name)

                    {

                      //这里的filedir引用所指的对象,name就是需要过滤的内容

                      return name.endsWith(".txt");

                    }                     

                }

           );

 

    sop("txt文件个数:"+strArr.length);

    for(String s : strArr)

    {

        sop(s);

    }

}

   

编译成功,class文件运行结果: 

txt文件个数:3               

交换数组2个元素.txt         

折半查找整形数组中元素.txt   

折半查找整形数组中元素22.txt 

                            

按任意键重新编译并运行...... 

 

=====================================================

笔记补充:

上面用的list方法,返回的是字符串

 [示例2] 主要是listFiles方法,和递归调用

//[示例2]:遍历目录
import java.io.*;
class Demo            
{
  public static void main(String[] args)  
  {
    File dir = new File("G:\\备份\\n95\\admins\\files");
    fileShow(dir);
  }
    
  public static void fileShow(File dir) 
  { 
    File[] files = dir.listFiles();
    for(File fOrd : files)
    {      
      if(fOrd.isDirectory()) //如果是一个目录
      {
        sop(fOrd);
        fileShow(fOrd); //如果是目录就先打印一下,然后继续遍历
      }
      else
      {
        sop(fOrd.getName()); //只打印文件名,不打印路径
      }     
    }
  }
  
  public static void sop(Object obj) //打印
  {
    System.out.println(obj);
  }
}

 

编译成功,class文件运行结果:   

 

 

G:\备份\n95\admins\files\games 
N95超级矿工.sisx               
古惑狼赛车3D [Sis].sis         
台湾麻将破解版.sis             
xuerenxingdi.jar               
Pool 3D.sisx                   

 

 

G:\备份\n95\admins\files\soft  
手机截图screenshot.sis         
Fetion_NN95_SYMBIAN210.SISX    

 

 

按任意键重新编译并运行......   

==============================

补充:

对目录进行删除操作

/*  
windows里参数目录是从里往外删除,先删文件后删目录

[示例3]:删除目录及目录中的文件

*/
import java.io.*;
class Demo            
{
  public static void main(String[] args)  
  {
    File dir = new File("C:\\files");
    deleteDir(dir);
  }
  
  public static void deleteDir(File dir)              //删除目录 (注:危险操作)
  {
    File[] files = dir.listFiles();
    for(File fOrd : files)
    {
      if(fOrd.isDirectory())
      {
        deleteDir(fOrd);                                            //进入最内层
      }
      else
      {
        sop(fOrd+"(删文件):"+fOrd.delete());              //删除文件
      }
    }
    sop("");
    sop(dir.toString()+":删除目录---:   "+dir.delete()); //删除目录
  }
    
    
  public static void sop(Object obj) //打印
  {
    System.out.println(obj);
  }
}


 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    java递归删除文件和文件夹.pdf

    该过程可以使用 File 类的 listFiles() 方法来获取指定路径下的所有文件和文件夹,然后递归调用 delete() 方法来删除文件和文件夹。 DelFileTest 类 DelFileTest 类是一个用于删除文件和文件夹的类,该类中有三个...

    java开发之File类详细使用方法介绍

    Java中的File类是Java IO包(java.io)中的核心类,用于处理文件和文件系统相关的操作,如文件的创建、删除、重命名以及查询文件属性等。File类并不直接涉及文件内容的读写,而是专注于文件对象的元数据管理。 1. *...

    Java程序设计基础:调用方法-方法的递归调用.pptx

    ### Java程序设计基础:方法的递归调用 #### 一、递归调用概念 递归调用是指在一个方法内部直接或者间接地调用自身的过程。递归调用是解决问题的一种有效方式,尤其适用于那些可以通过分解成更小规模相同问题来...

    java实现递归调用

    本篇文章将详细介绍如何使用Java实现递归调用来遍历一棵树,并结合SQL代码进行说明。 首先,我们需要理解树的基本概念。树是一种非线性的数据结构,由节点(或称为顶点)和边组成。每个节点可以有零个或多个子节点...

    递归调用学习笔记

    在编程领域,递归是一种强大的概念,它是指一个函数或过程在其定义中调用自身的行为。递归在解决复杂问题时特别有用,因为它允许我们用更简洁的方式表达问题的解决方案。这里我们将深入探讨两个经典的递归示例:计算...

    day08【File类、递归】-笔记1

    Java File类和递归的使用 Java File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。File类提供了多种构造方法和常用方法,用于获取文件和目录的信息。 File类的构造方法 File类...

    基于JavaParser的代码调用链分析,可以用于分析Java代码的方法调用链.zip

    这个压缩包中的内容可能包含了一系列使用JavaParser进行代码分析的示例或工具,特别是关于方法调用链的分析。这种方法调用链分析在软件工程中具有重要的应用价值,比如代码审查、性能优化、依赖关系理解以及重构等。...

    递归读取计算机某盘的所有文件file

    `File`类提供了诸如`listFiles()`、`exists()`和`isDirectory()`等方法,用于获取文件信息和检查文件类型。 例如,创建一个名为`readAllFiles`的递归方法,接收一个`File`对象作为参数,代表要读取的目录。此方法会...

    Java学习笔记

    ### Java学习笔记知识点详解 #### 一、Java环境配置与基本概念 - **系统变量path**: 在设置Java开发环境时,需要配置系统变量`path`,这样计算机才能找到执行Java命令所需的程序。例如,当我们输入`javac`或`java`...

    java递归实现删除文件夹

    在Java编程中,删除文件夹及其子文件夹通常涉及到递归操作,因为...通过这个过程,我们可以使用Java的`File`类和递归技术有效地删除文件夹及其所有子文件夹。理解这一知识点对于进行文件系统的操作和管理至关重要。

    Java基础知识-day08【File类、递归】.pdf

    本节课主要讲解了Java中的File类和递归编程的知识点。 File类 Java中的File类是java.io包下的一个类,代表了文件和目录路径名的抽象表示。主要用于文件和目录的创建、查找和删除等操作。 构造方法 File类有三种...

    java程序的递归算法

    ` 这一行导入了Java标准库中的`File`类,该类提供了处理文件和目录的基本方法。 2. **定义类和方法**:定义了一个名为`DiGui`的公共类,并在其中定义了一个静态方法`getDir`,该方法接受一个字符串参数`strPath`,...

    19.【File类、递归】_递归_

    在Java编程语言中,`File`类是处理文件和目录的核心工具。它提供了丰富的API用于创建、删除、重命名文件以及获取文件的各种属性。而“递归”是一种算法设计技术,它通过函数或方法调用自身来解决问题。在这个主题中...

    22_IO_第1天(File、递归)_讲义

    1. 使用递归搜索指定路径下的文件:假设我们需要找到所有扩展名为".txt"的文件,可以编写一个递归函数,通过File类的listFiles()方法获取目录下的所有文件和子目录,然后对每个元素进行检查和递归调用。 总结,Java...

    java File文件处理工具类

    Java中的`File`类是Java I/O流体系中不可或缺的一部分,它是用来操作文件和目录的基础类。`File`对象代表了文件和目录路径名的抽象表示。在这个详细的讲解中,我们将深入探讨`File`类的各种功能,包括创建、读取、...

    java中遍历某个目录下的所有文件及文件夹中的文件

    首先定义一个方法,接收一个`File`类型的参数,然后调用`listFiles()`方法获取该目录下的所有子文件和子目录。接下来,遍历这些子文件/目录,如果是文件则打印其路径,如果是目录则再次递归调用此方法。 #### 三、...

    Day36 Java的file类

    ### Day36 Java的File类详解 #### 一、File类概述 在Java中,`File`类位于`...通过上述内容的学习,我们可以更加深入地理解Java中`File`类的使用方法及其相关的高级操作,这对于开发中文件处理任务的完成非常有用。

    一个简单的递归调用的实例

    这就是递归的核心——函数在内部调用自身,每次调用处理规模更小的问题(即更深层的子目录)。 递归调用在处理树形结构时非常有用,例如文件系统、组织结构或者HTML DOM等。然而,需要注意的是,递归可能会导致大量...

    递归调用最容易理解的课件

    通过以上内容的学习,我们了解了方法重载的概念及其在Java中的应用,以及递归调用的基本原理和实现技巧。方法的重载使得我们可以为同一类中的多个方法赋予相同的名字,而递归调用则为我们提供了一种处理复杂问题的...

Global site tag (gtag.js) - Google Analytics