IO操作之File类

#IO操作:
1,存储:当我们需要把内存中的数据存储到持久化的设备上,这个动作称为输出Output操作;
2、读取:当我们把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作;
我们把这种输入输出动作称为IO操作。

#File类
在这里插入图片描述
java.io.File
* 将操作系统中的,文件,目录(文件夹),路径,封装成File对象

#File中的静态常量
//与系统有关的路径分隔符相当于Windows系统中的;和Linux的:
String separator = File.pathSeparator;
在这里插入图片描述
上图是四个静态常量的介绍
//与系统有关的默认名称分隔符
separator = File.separator;
System.out.println(separator);// 向右 \ 目录名称分割 Linux /

  • a: 绝对路径
    * 绝对路径是一个固定的路径,从盘符开始
    * b: 相对路径
    * 相对路径相对于某个位置,在eclipse下是指当前项目下
    * c: 路径
    绝对路径
    在系统中具有唯一性
    c:\windows\system32
    相对路径
    表示路径之间的关系
    D:\develop\Java\jdk1.7.0_72\bin
    D:\develop\Java\jre7
    路径之间关系
    Java 父目录是D:\develop
    Java 子目录是:jdk1.7.0_72
    父路径是 唯一性
    子目录是可以多个

#File类中的构造方法
在这里插入图片描述 /*
* File(File parent,String child)
* 传递路径,传递File类型父路径,字符串子路径
* 好处: 父路径是File类型,父路径可以直接调用File类方法
*/
public static void function_2(){
File parent = new File(“d:”);
File file = new File(parent,“eclipse”);
System.out.println(file);
}

#在盘符中创建文件
在这里插入图片描述 File file = new File(“c:\a.txt”);
boolean b = file.createNewFile();

#在盘符中创建文件夹
在这里插入图片描述 File file = new File(“c:\abc”);
boolean b = file.mkdirs();

#删除文件或者文件夹
在这里插入图片描述File file = new File(“c:\a.txt”);
boolean b = file.delete();

#返回 该路径下文件或文件夹的名字
在这里插入图片描述
在这里插入图片描述

#返回文件的字节数
在这里插入图片描述

#获取文件的绝对路径

  • String getAbsolutePath(): 获取绝对路径,返回String对象
  • File getAbsoluteFile() : 获取绝对路径,返回File对象
    • eclipse环境中,写一个相对路径,绝对位置工程根目录
      在这里插入图片描述在这里插入图片描述

#获取父路径

  • String getParent(): 获取父路径,返回String对象
  • File getParentFile(): 获取父路径,返回File对象

#File判断
File类判断功能
* a: 方法介绍
* boolean exists(): 判断File构造方法中封装路径是否存在
* 存在返回true,不存在返回false
* boolean isDirectory(): 判断File构造方法中封装的路径是不是文件夹
* 如果是文件夹,返回true,不是文件返回false
* boolean isFile(): 判断File构造方法中封装的路径是不是文件
* 如果是文件,返回true,不是文件返回false

#两个简单的以数组形式返回目录中的文件和目录
并且可以遍历
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

#文件过滤器
在这里插入图片描述FileFilter中只有这一个方法
在这里插入图片描述 * listFiles()遍历目录的同时,获取到了文件名全路径,调用过滤器的方法accept,将获取到的路径传递给accept方法的参数pathname
* accept方法接收了参数pathname,参数是listFiles传递来的
* * 在accept方法中,进行判断,如果这个路径是Java文件,返回true,走着返回false
* 一旦方法返回了true
* listFiles将路径保存到File数组中

#递归遍历:

public class FileDemo {
public static void main(String[] args) {
File dir = new File(“d:\eclipse”);
getAllDir(dir);
}
/*
* 定义方法,实现目录的全遍历
*/
public static void getAllDir(File dir){
System.out.println(dir);
//调用方法listFiles()对目录,dir进行遍历
File[] fileArr = dir.listFiles();
for(File f : fileArr){
//判断变量f表示的路径是不是文件夹
if(f.isDirectory()){
//是一个目录,就要去遍历这个目录
//本方法,getAllDir,就是给个目录去遍历
//继续调用getAllDir,传递他目录
getAllDir(f);
}else{
System.out.println(f);
}
}
}
}

在这里插入图片描述目录,可以理解为课本上的目录,包括很多的“章节”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值