java-IO流---字节流

2021/11/14 14:12:41

本文主要是介绍java-IO流---字节流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

IO流

一、IO流概述和分类

IO流介绍

  • IO:输入/输出(Input/Output)
  • 流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输
  • IO流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载

IO流的分类
按照数据的流向

    • 输入流:读数据
    • 输出流:写数据

按照数据类型来分

    • 字节流
      字节输入流(InputStream)
      字节输出流(OutputStream)
    • 字符流
      字符输入流(Reader)
      字符输出流(Writer)

二、字节输出流(OutputStream)

字节流写数据的三种方式

 

 

public class FileOutputStreamDemo02 {
    public static void main(String[] args) throws IOException {
        //FileOutputStream(String name):创建文件输出流以指定的名称写入文件
        FileOutputStream fos = new FileOutputStream("myByteStream\\fos.txt");
        //new File(name)
//        FileOutputStream fos = new FileOutputStream(new File("myByteStream\\fos.txt"));

        //FileOutputStream(File file):创建文件输出流以写入由指定的 File对象表示的文件
//        File file = new File("myByteStream\\fos.txt");
//        FileOutputStream fos2 = new FileOutputStream(file);
//        FileOutputStream fos2 = new FileOutputStream(new File("myByteStream\\fos.txt"));

        //void write(int b):将指定的字节写入此文件输出流
//        fos.write(97);
//        fos.write(98);
//        fos.write(99);
//        fos.write(100);
//        fos.write(101);

//        void write(byte[] b):将 b.length字节从指定的字节数组写入此文件输出流
//        byte[] bys = {97, 98, 99, 100, 101};
        //byte[] getBytes():返回字符串对应的字节数组
        byte[] bys = "abcde".getBytes();
//        fos.write(bys);

        //void write(byte[] b, int off, int len):将 len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流
//        fos.write(bys,0,bys.length);
        fos.write(bys,1,3);

        //释放资源
        fos.close();
    }
}

三、字节输入流(InputStream)

字节流读数据

我们通过两个案例来体会读数据的操作

1.字节流读数据(一次读一个字节)

现步骤

复制文本文件,其实就把文本文件的内容从一个文件中读取出来(数据源),然后写入到另一个文件中(目的地)

数据源:

​ E:\itcast\xxx.txt — 读数据 — InputStream — FileInputStream 。我们从E盘的itcast文件中读取一个txt文件。

目的地:

​ myByteStream\xxx.txt — 写数据 — OutputStream — FileOutputStream。将读到的数据写入到myByteStream模块下的txt文档中

2.字节流读数据(一次读一个字节数组)

如果我们需要一次读一个字节数组则需要知道一次读一个字节数组的方法



这篇关于java-IO流---字节流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程