Java中的字节流

2.1 IO流概述和分类

##IO流概述:
IO:输入/输出(input/ouput)
流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输

IO流就是用来处理设备间数据传输问题的
常见的应用:文件复制,文件上传,文件下载

按数据流向:输入流,输出流

输入流为读数据,输出流为写数据

按数据类型:字节输入流/输出流,字符输入流/输出流

一般来说是按数据类型来分的。

2.2 字节流写数据

输入流读数据:

public abstract class InputStream
extends Object
implements Closeable

Direct Known Subclasses:
AudioInputStream, ByteArrayInputStream, FileInputStream, FilterInputStream, InputStream, ObjectInputStream, PipedInputStream, SequenceInputStream, StringBufferInputStream

输出流写数据:

public abstract class OutputStream
extends Object
implements Closeable, Flushable

Direct Known Subclasses:
ByteArrayOutputStream, FileOutputStream, FilterOutputStream, ObjectOutputStream, OutputStream, PipedOutputStream

这里的抽象类InputStream、OutputStream表示 输入字节流、输出字节流的所有类的超类

字节流抽象类基类:
1、InputStream:这个抽象类是表示字节输入流的所有类的超类
2、OutputStream:这个抽象类是表示字节输出流的所有类的超类
3、子类名特点:子类名称都是以其父类名作为子类名的后缀

FileOutputStream:文件输出流用于将数据写入文件File

使用字节输出流写数据的步骤

1.创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)
2.调用字节输出流对象的写数据方法
3.释放资源(关闭此输出流并释放与此流相关联的任何系统资源)

FileOutputStream(String name)

Creates a file output stream to write to the file with the specified name.

write(int b)

Writes the specified byte to this file output stream.

close()

Closes this file output stream and releases any system resources associated with this stream.

package dailyioStream;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo01 {
   
    public static void main(String[] args) throws IOException {
   
        FileOutputStream fos = new FileOutputStream("src\\dailyioStream\\fos.txt");
        /*
        这里创建了字节输出流对象 fos
        创建字节输出流对象这里一共有三步操作:
        1.调用了系统功能创建了文件
        2.创建了字节流输出对象
        3.让字节输出流对象指向创建好的文件
         */
        fos.write(97);//写到低层是97(ASCII码),但是我们打开文件内容是a
        fos.write(57);
        fos.write(55);
        
        fos.close();//释放资源,关闭此文件输出流释放并与此流相关联的任何系统资源


    }
}

2.3 字节流写数据的3种方式

void write(int b)

将指定的字节写入到此文件输出流,一次写一个字节数据
Writes the specified byte to this file output stream.

package dailyioStream;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class FileOutputStreamDemo02 {
   
    public static void main(String[] args) throws IOException {
   
        FileOutputStream fos = new FileOutputStream("src\\dailyioStream\\fos.txt");
        fos.write(97);
        fos.close();
    }
}

void write(byte[] b)

将b.length字节从指定的字节数组写入此文件输出流,一次写一个字节数组数据
Writes b.length bytes from the specified byte array to this file output stream.

package dailyioStream;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

public class FileOutputStreamDemo02 {
   
    public static void main(String[] args) throws IOException {
   
        FileOutputStream fos = 
  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值