Java学习笔记之File类和流。

本文深入讲解Java IO系统的基础知识,包括File类的使用方法、构造方法及常见操作,如读取文件名、判断文件类型、遍历文件夹等。同时,文章详细介绍了InputStream和OutputStream类的常用函数,用于从流中读取数据,以及如何使用桥接转换流进行字节流与字符流之间的转换。
摘要由CSDN通过智能技术生成

File类

  • File类是java.io中唯一能代表磁盘文件本身的对象提供对文件外部访问的属性。所有学习的IO相关的类都在java.io包下该报有jdk官方提供。

构造方法

File(File parent, String child) 
//文件类型文件路径和文件名的构造方法
File(String pathname) 
//文件路径
File(String parent, String child) 
//字符类型的文件路径和文件名 
File(URI uri) 
//网络URL的工造方法

常用的方法

  1. getName()回去文件命
  2. isDirectory()判断是否是文件夹
  3. listFIles()将文件转换成数组的形式返回
  • 使用递归的方法对较深的文件夹进行访问
 public void ListFile(File file){
        File files[] = file.listFiles(new FileFilterImp());
        //其中的FileFilterImp()是文件过滤器接口的实现类
        for (File f:files) {//利用foreach循环进行访问
            if (f.isDirectory()) ListFile(f);//遇到文件夹时调用自身的函数进行递归
            else System.out.println(f.getName());
        }
    }
  • 文件过滤器的实现FileFilter是接口其是接口的实现对象需要对accept进行重写
public class FileFilterImp implements FileFilter {
    @Override
    public boolean accept(File f) {
        return true;
    }

输入输出流

InputStream/OutputStream类

  1. 两个输入输出流类都是抽象类不能实例化需要用FileinputStream进行实例化
  2. 流通道在使用后要进行关闭,关闭是可能会出现异常需要对可能出现的异常情况进行不做处理
  3. InputStream类的read方法内有指针在读取数据时会向后移,无数据时返回值为-1可根据此来判断数据的读取情况

常用的函数从流中读取数据

	int read( ) 
	//读取一个字节,返回值为所读的字节
	int read( byte b[ ] )
	//读取多个字节,放置到字节数组b中,通常读取的字节数量为b的长度,返回值为实际读取的字节的数量
	int read( byte b[ ], int off, int len )
	//读取len个字节,放置到以下标off开始字节数组b中,返回值为实际读取的字节的数量
	int available( )
	//返回值为流中尚未读取的字节的数量
	long skip( long n )
	//读指针跳过n个字节不读,返回值为实际跳过的字节数量
	close( )
	//流操作完毕后必须关闭

桥(转换流)

  • InputStreamReader 字节流到字符流的桥:它读取字节,并使用指定的charset将其解码为字符。
  • OutputStreamWriter 字符流到字节流的桥: 所得到的字节在写入底层输出流之前累积在缓冲区中。 请注意,传递给write()方法的字符不会缓冲。 为了最大的效率,请考虑在BufferedWriter中包装一个OutputStreamWriter,以避免频繁的转换器调用。缓冲区的字符一次调用直接全部解码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值