复习FIle文件类,io流

本文详细介绍了Java中的File类,包括其构造方法、文件创建、判断和获取功能,以及删除操作。探讨了绝对路径和相对路径的区别,并讲解了递归的概念和注意事项。此外,深入讨论了Java IO流,涵盖了输入/输出流的基本概念、分类,字节流的写数据操作,包括不同方式、异常处理以及读数据的方法。内容涵盖了字节流在文件操作中的应用和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.File类

1.1File类概述和构造方法【应用】

File类介绍
	它是文件和目录路径名的抽象表示
	文件和目录是可以通过File封装成对象的
	对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已。
	它可以是存在的,也可以	是不存在的。将来是要通过具体的操作把这个路径的内容转换为具体存在的

在这里插入图片描述

1.2File类创建功能【应用】

方法分类

在这里插入图片描述

1.3File类判断和获取功能【应用】

判断功能
在这里插入图片描述
获取功能
在这里插入图片描述

1.4File类删除功能【应用】

方法分类
在这里插入图片描述
绝对路径和相对路径的区别
绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件。例如:E:\itcast\java.txt
相对路径:必须使用取自其他路径名的信息进行解释。例如:myFile\java.txt

2.递归

2.1递归【应用】

递归的介绍
	以编程的角度来看,递归指的是方法定义中调用方法本身的现象
	把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解
	递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算
递归的注意事项
	递归一定要有出口。否则内存溢出
	递归虽然有出口,但是递归的次数也不宜过多。否则内存溢出

3.IO流

3.1 IO流概述和分类【理解】

IO流介绍
	IO:输入/输出(Input/Output)
	流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输
	IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载
IO流的分类
	按照数据的流向
		输入流:读数据
		输出流:写数据
按照数据类型来分
		字节流
		字节输入流
		字节输出流
		字符流
		字符输入流
		字符输出流
IO流的使用场景
	如果操作的是纯文本文件,优先使用字符流
	如果操作的是图片、视频、音频等二进制文件。优先使用字节流
	如果不确定文件类型,优先使用字节流。字节流是万能的流

3.2字节流写数据【应用】

字节流抽象基类
	InputStream:这个抽象类是表示字节输入流的所有类的超类
	OutputStream:这个抽象类是表示字节输出流的所有类的超类
	子类名特点:子类名称都是以其父类名作为子类名的后缀
字节输出流
	FileOutputStream(String name):创建文件输出流以指定的名称写入文件
	使用字节输出流写数据的步骤
	创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)
	调用字节输出流对象的写数据方法
	释放资源(关闭此文件输出流并释放与此流相关联的任何系统资源)

3.3字节流写数据的三种方式

在这里插入图片描述

3.4字节流写数据的两个小问题

字节流写数据如何实现换行
	windows:\r\n
	linux:\n
	mac:\r
字节流写数据如何实现追加写入
	public FileOutputStream(String name,boolean append)
创建文件输出流以指定的名称写入文件。如果第二个参数为true ,则字节将写入文件的末尾而不是开头

3.5字节流写数据加异常处理

异常处理格式
try-catch-finally
	try{
	可能出现异常的代码; 
	}catch(异常类名 变量名){ 
	异常的处理代码; 
	}finally{ 
	执行所有清除操作;
	 }
 finally特点
	被finally控制的语句一定会执行,除非JVM退出

3.6字节流读数据(一次读一个字节数据)

字节输入流
	FileInputStream(String name):通过打开与实际文件的连接来创建一个FileInputStream ,该文件由文件系统中的路径名name命名
字节输入流读取数据的步骤
	创建字节输入流对象
	调用字节输入流对象的读数据方法
	释放资源
一次读一个字节数组的方法
	public int read(byte[] b):从输入流读取最多b.length个字节的数据
	返回的是读入缓冲区的总字节数,也就是实际的读取字节个数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值