File、FileFilter、递归初步

java.io.File
  文件和目录 路径名的抽象表示形式

  文件:File 存储数据的
  目录:Directory 文件夹 用来存储文件
  路径:Path 定位具有平台无关性 在任意平台都可以使用

File类的静态常量
    static String pathSeparator 与系统有关的路径分隔符 //打印 ;
    static String separator 与系统有关的名称分隔符 //打印 \

uri 统一资源标识符
    包含url
    mailto:[email protected]
    thrunder:sss
    ed2k:
  url 统一资源定位符
    http:\\www.baidu.com

File类的构造方法

   绝对路径
      带盘符的路径就是绝对路径 唯一性
    相对路径
      具备一个参照点 参照点(父路径)是唯一的 子路径无限制

   File(String pathname) 传入一个String类型路径,可以是路径,也可以是文件夹,但是要注意,路径可以不存在  
   File(String parrent, String child) 传入字符串一个父路径,一个字符串子路经
   File(File parent, String child) 传入File类型的父路径,字符串类型的子路经

File类的创建方法
    boolean createNewFile() IOException
      创建文件 有了就不创建
      返回值是boolean类型
      创建成功返回true 失败返回false
      创建的位置在构造方法中给出
      能创建文件 不能创建文件夹(直接返回false)
    boolean mkdir()
      创建文件夹 有了就不创建
      只能创建文件夹 不可以创建文件
      只能创建单级文件夹 不可以创建多级
    boolean mkdirs() 创建多级文件夹

File类的删除方法
    boolean delete()
      删除文件或文件夹 删除的位置构造方法中给出
      删除文件时,无论文件是否有数据都会被删除,并且不进回收站
      删除时,如果是多级目录不能删除,只能删除单机目录

File类的判断方法
    boolean exists()
      判断路径是否存在
      文件和文件夹都可以进行判断
    boolean isFile()
      判断是否为文件
    boolean isDirectory()
      判断是否为文件夹

File类的获取方法
    String getAbsolutePath()
    File getAbsoluteFile()
      返回绝对路径, 第一个返回的是字符串路径
      第二个返回的是File对象 推荐使用第二个
    String getName()
      返回文件或文件夹的名字(不带路径)
    String getPath()
      File类型转换为一个字符串路径
      构造方法中传递是什么路径 转化成的就是什么样路径
    String getParent()
    File getParentFile()
      获取父路径
    long length()
      获取文件的字节数
      注意 文件夹没有字节数的概念 不能获取文件夹(获取文件夹时结果不能代表什么)

    String list()
      获取当前文件夹下所有文件名 包含隐藏文件
    File[] listFiles()
      获取当前文件夹下所有文件的file对象
    static File[] listRoots()
      列出可用的文件系统根盘符

FileFilter 文件过滤器
    File[] listFiles(FileFileter fileter)
      获取过滤之后的所有文件
      里面首先取出所有的文件名,然后遍厉封装为File对象,调用FileFilter的accept方法对File对象进行逐一判断
      如果满足将其加入集合中,然后将集合变为数组

递归
  方法调用方法本身
  注意事项:
    A:递归一定要有出口
    B:递归的次数不能过多,否则会内存溢出
    C:构造方法不能递归

递归的时候,第一个执行的方法最后出栈

时间: 2024-11-03 01:37:48

File、FileFilter、递归初步的相关文章

IO流(一):File和递归

一.File (一)概述 1.File: 1)文件和目录(文件夹)路径名的抽象表示形式 2)注意: 可以表示文件夹与文件,即路径与文件 抽象概念,即路径与文件是否存在不确定 2.构造方法 1)File(String pathname):根据一个路径得到File对象 File file = new File("E:\\demo\\a.txt"); 2)File(String parent, String child):根据一个目录和一个子文件/目录得到File对象 File file2

day23<File类递归练习>

File类递归练习(统计该文件夹大小) File类递归练习(删除该文件夹) File类递归练习(拷贝) File类递归练习(按层级打印) 递归练习(斐波那契数列) 递归练习(1000的阶乘所有零和尾部零的个数) 递归练习(1000的阶乘尾部零的个数) 集合练习(约瑟夫环)   ###23.01_File类递归练习(统计该文件夹大小) 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小 * 从键盘接收一个文件夹路径 1,创建键盘录入对象 2,定义一个无限循环  3,将键盘录入的结果存储并封装成F

Java之File与递归

File类的使用和递归思想 File类 概述 文件: 存储数据 文件夹: 管理文件与文件夹 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例. public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例. public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File

13、IO (File、递归)

File File类的概述和作用 * A:File类的概述和作用 * a: File的概念 * File类是文件和目录路径名的抽象表示形式 * Java中把文件或者目录(文件夹)都封装成File对象 * 我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可 File类静态的成员变量 * A:File类静态的成员变量 * a: pathSeparator * 与系统有关的路径分隔符,为了方便,它被表示为一个字符串 * b: separator * 与系统有关的默认名称分隔符,为了方便,它

[javaSE] IO流(FIle对象递归文件列表)

获取File对象,new出来,构造参数:String目录名 调用File对象的list()方法,获取String[]数组文件名称 循环数组,列出所有文件包含隐藏文件 递归列出所有的数据 定义一个静态方法showDir(),传递进参数:FIle对象 调用File对象的listFiles()方法,得到File[]数组 循环File[]数组,每个元素是File对象 循环中,调用File对象的isDirectory()方法,判断是否是一个目录,如果是目录,再次调用showDir()方法,参数:File对

黑马程序员-File类+递归的简单应用

Java File类   Java.io.File Java文件类以抽象的方式代表文件名和目录路径名.该类主要用于文件和目录的创建.文件的查找和文件的删除等. File对象代表磁盘中实际存在的文件和目录.通过以下构造方法创建一个File对象. 通过给定的父抽象路径名和子路径名字符串创建一个新的File实例. File(File parent, String child); 通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例. File(String pathname) 根据 pa

java File类-递归遍历目录结构和树状展现

f.listFiles(); //返回目录下的所有子目录和子文件版本一:未加计数器分层次 static void f(File f) { System.out.println(f.getName()); if(f.isDirectory()) { File[] files=f.listFiles(); //如果是目录,返回目录下的所有子目录和子文件 for(File fi:files) { f(fi); } } } 版本二:加计数器分层次 static void f(File f,int lev

Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹

package cuiyuee; import java.io.File; import java.util.ArrayList; import java.util.List; public class GetAllDirectory { public static void showDirectory(File file){ File[] files = file.listFiles(); for(File a:files){ System.out.println(a.getAbsoluteP

[Java] File类 递归 获取目录下所有文件/文件夹

package com.xiwi; import java.io.*; import java.util.*; class file{ public static void main(String args[]){ System.out.println("file Go..."); // 这里改成你要遍历的目录路径 recursiveFiles("F:\\fileText"); System.out.println("file End."); }