File类、递归、IO概述、字节流

一. File类【了解】

	a. 介绍
		java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作
	b. 构造方法
		i. public File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
		ii. public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
		iii. public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。
	c. 常用方法
		i. 获取功能的方法
		public String getAbsolutePath() :	返回此File的绝对路径名字符串。
		public String getPath() :	将此File转换为路径名字符串。
		public String getName() :	返回由此File表示的文件或目录的名称。
		public long length() :	返回由此File表示的文件的长度(字节)。 不能获取目录的长度。
		ii. 绝对路径和相对路径
			1) 绝对路径:从盘符开始的路径,这是一个完整的路径。
			2) 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。
		iii. 判断功能的方法
			1) public boolean exists() :	此File表示的文件或目录是否实际存在。
			public boolean isDirectory() :	此File表示的是否为目录。(如果路径不存在,返回的也是false.)
			public boolean isFile() :	此File表示的是否为文件。
		iv. 创建删除功能的方法
			1) public boolean createNewFile() :	当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
			public boolean delete() :	删除由此File表示的文件或目录。(只能删除空目录)
			public boolean mkdir() :	创建单级文件夹
			public boolean mkdirs() :	创建多级文件夹
	d. 目录的遍历
		i. public String[] list() :返回一个String数组,表示该File目录中的所有子文件或目录。
		ii. public File[] listFiles() :返回一个File数组,表示该File目录中的所有的子文件或目录。

二. 递归

	a. 递归:指在当前方法内调用自己的这种现象。
	如:
	public static void a(){
		a();
	} 
	b. 递归累和
		i. 先定义一个方法
		ii. 找规律,调用自己
		iii. 让递归有出口
	c. 递归求阶乘
	d. 文件搜索

三. IO概述

	a. 什么是IO
		i. 以内存角度看待
	b. IO的分类
		i. 根据流的方向
			1) 输入流
			2) 输出流
		ii. 根据流中操作的数据类型
			1) 字节流byte
			2) 字符流char
		iii. 综合(四大流)
			1) 字节输入流:InputStream(顶层父类,抽象类)
			2) 字节输出流:OutputStream(顶层父类,抽象类)
			3) 字符输入流:Reader(顶层父类,抽象类)
			4) 字符输出流:Writer(顶层父类,抽象类)

四. 字节流

	a. 一切皆为字节
		i. 字节流可以传输任意文件数据。
		ii. 字符流:只能操作文本文件。
	b. 字节输出流【OutputStream】
		i. 常用方法
			1) public void close() :	关闭此输出流并释放与此流相关联的任何系统资源。
			public void flush() :	刷新此输出流并强制任何缓冲的输出字节被写出。
			public void write(byte[] b) :	将 b.length字节从指定的字节数组写入此输出流。
			public void write(byte[] b, int off, int len) :	从指定的字节数组写入 len字节,从偏移量 off开始输出到此输出流。
			public abstract void write(int b) :	将指定的字节输出流
	c. FileOutputStream类
		i. 构造方法
			1) public FileOutputStream(File file) :	创建文件输出流以写入由指定的 File对象表示的文件。
			public FileOutputStream(String name) : 	创建文件输出流以指定的名称写入文件。
		ii. 写出字节数据
			1) 写出字节: write(int b) 方法,每次可以写出一个字节数据
			2) 写出字节数组: write(byte[] b) ,每次可以写出数组中的数据
			3) 写出指定长度字节数组: write(byte[] b, int off, int len) ,每次写出从off索引开始,len个字节
		iii. 数据追加续写
			1) public FileOutputStream(File file, boolean append):创建文件输出流以写入由指定的 File对象表示的文件。
			2) public FileOutputStream(String name, boolean append):创建文件输出流以指定的名称写入文件。
		iv. 写出换行
			1) Windows:\r\n
	d. 字节输入流【InputStream】
		i. public void close() :关闭此输入流并释放与此流相关联的任何系统资源。
		ii. public abstract int read() : 从输入流读取数据的下一个字节。
		iii. public int read(byte[] b) : 从输入流中读取一些字节数,并将它们存储到字节数组 b中 。
	e. FileInputStream类
		i. 构造方法
			1) FileInputStream(File file) : 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的文件对象 file命名。
			2) FileInputStream(String name) : 通过打开与实际文件的连接来创建一个 FileInputStream ,该文件由文件系统中的路径名 name命名。
		ii. 读取字节数据
			1) 读取字节: read 方法,每次可以读取一个字节的数据,提升为int类型,读取到文件末尾,返回 -1
			2) 使用字节数组读取: read(byte[] b) ,每次读取b的长度个字节到数组中,返回读取到的有效字节个数,
			读取到末尾时,返回 -1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值