JavaIO字节输入流&输出流

本文详细介绍了Java中的字节输入流InputStream,特别是FileInputStream的构造方法、读取操作如read方法及其示例,还有available和skip方法。接着,转向字节输出流OutputStream,重点讲解了FileOutputStream的构造方法、write方法以及文件内容复制的实际应用。通过这些内容,读者将能更好地理解和操作Java字节流进行文件操作。
摘要由CSDN通过智能技术生成

InputStream

InputStream是Java中处理字节输入的一个抽象类,由于抽象类本身并不能实例化,所以需要其各个子类来实现,最常用的是FileInputStream子类,它可以对任意文件进行操作,也可以代替字符输入流做文字的输出。

FileInputStream

FileInputStream集成了InputStream父类抽象类,实现了其所有的方法,用于对字节文件的操作,也可以进行字符输出

构造方法
//根据字符串抽象为一个文件的路径
public FileInputStream(String name) throws FileNotFoundException {
   
		//如果路径名称不等于null则new一个File对象,否则为null
        this(name != null ? new File(name) : null); 
 }
 //根据一个File对象传入目标文件路径
public FileInputStream(File file) throws FileNotFoundException {
   
		//如果file变量为不等于null就调用getPath方法获取路径,否则为null
        String name = (file != null ? file.getPath() : null);
		//调用getSecurityManager()方法
        SecurityManager security = System.getSecurityManager();
        if (security != null) {
    //不等于null执行括号里的方法
            security.checkRead(name);
        }
        if (name == null) {
    //name参数等于null就抛出空指针异常
            throw new NullPointerException();
        }
        if (file.isInvalid()) {
    //判断路径是否有效,无效则抛出下面异常
            throw new FileNotFoundException("Invalid file path");
        }
        fd = new FileDescriptor(); //new一个FileDescriptor对象
        fd.attach(this); //调用attach方法放入对象本身
        path = name; //把名称赋值给成员变量path
        open(name); //调用open方法传入name
    }

读的操作

read方法

read方法是用于对文件进行读取的操作,总共有三种重载方法

//读取单个字符,无参数
public abstract int read() throws IOException;
//根据byte字节数组读取字节数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值