0%

概念

  • System.in

    是InputStream,他们是标准输入流,默认可以从键盘读取字节数据,Scanner的底层就是用它。

  • System.out

    是printStream,他们是标准输出流,默认可以向console(控制台)中输出字符宣传和字节数据

阅读全文 »

概念

可以很方便的将对象的toString()结果输出,并且自动加上换行,而且还可以使用自动刷出模式,自动刷出就是println一个数据就在文件中写入一个数据

  • ps:
    System.out就是一个PrintStream,其默认向控制台输出信息
阅读全文 »

概述

它可以按照基本数据类型的大小读写数据,因为字节流读文件时向那个字节前面加8个二进制位组成一个int,写文件时会自动砍掉int的前8个二进制位,所以我们直接读写int类型数据时文本数据会出错,而数据输入输出流就不会这样,他会把基本数据类型所有字节全部写出去,不过开发用到的不多。

阅读全文 »

概述

它可以在文件任何位置开始读,也可以在文件任何地方开始写。

  • ps:
    其实它不属于流,因为它的父类是Object,但是呢,它融合了InputStream与OutpuStream的功能,所以他同时具备了读和写的功能。
阅读全文 »

内存输出流的概述

该输出流可以向内存中写数据,把内存当作一个缓冲区,写出之后可以一次性获取出所有数据。

  • 内存输出流类

    ByteArrayOutputStream

ps:它其实是一个缓冲区,实例化这个类时在内存中创建了一个可以增长的字节数组,所以它可以不用关闭流,因为根本就只是个缓冲区

阅读全文 »

序列流概述

序列流可以把多个字节输入流整合成一个,从序列流中读取数据时,将从被整合的第一个流开始读,然后依次往后读,也就是把N个流合成成一个流,这样方便操作。

阅读全文 »

字符流概述

读写字符的IO流,字符流读取字符,需要先读取到字节数据,然后转为字符,如果要写出字符,需要把字符转为字节再写出

  • ps:
    字符流除了读取字符、不能拷贝非纯文本文件,其他功能都和字节流差不多,因为它底层就用到了FileInputStream与FileOutputStream
阅读全文 »

FileInputStream概述

它是一个输入流,它的作用是从文件系统中的某个文件中获得输入字节,它是InputStream的子类

创建一个文件输入流

1
2
FileInputStream fis = new FileInputStream("1.txt");
//其实就是创建一个流的对象,不用了关闭即可
阅读全文 »