Java入门——day24

一、今日学习

1.流

(1)在Java中,每个流都是一个对象。流通常分为两种:输入流和输出流。

  • 输入流:只要从流当中不停地把字节取出即可。

  • 输出流,只要把准备好的字节串传给它即可。

(2)java.io包中的stream类根据其操作对象的类型可分为:字符流和字节流

(3)Java的字节流

InputStream是所有字节输入流的父类,而OutputStream是所有字节输出流的父类。

(4)Java的字符流

Reader是所有读取字符串输入流的父类,而Writer是所有输出字符串的父类。

(5)字节流和字符流

 在Java中,所有的字节流都是以Stream结尾的,所有的字符流都是以Reader/Writer结尾的。


 2.流的分类

(1)根据流动方向划分,分为输入流和输出流。

  • 输入流:对输入流只能进行读操作,代表从外部流入计算机的数据序列

  • 输出流:对输出流只能进行写操作,代表从计算机流入外部的数据序列

(2)根据对流的操作可以分为字节流和字符流。

  • 字节流:操作字节序列的对象,如对二进制文件、图片及映像文件的操作。

  • 字符流:操作字符序列的对象,如对文本文件等。


3.字节流

1.输出字节流OutputStream

(1)OutputStream是所有的输出字节流的父类,他是一个抽象类。

(2)ByteArrayOutputStream、FileOutputStream是两种基本的介质流,它们分别向Byte数组和本地文件中写入数据。ObjectOutputStream和所有FilterOutputStream的子类都是装饰流。

(3)使用字节输出流OutputStream定义如下:

public abstract class OutputStream extends Object implements Closeable,Flushable

(4)OutputStream类中定义的方法:

关闭流:public void close() throws IOException

写一组数据:public void write(byte[] b) throws IOException

写一个数据:public void write(int b) throws IOException.但是要想将OutputStream实例化,且进行文件操作,就要使用FileOutputStream子类

构造:public FileOutputStream(File file) throws FileNotFoundException

(5)示例:使用字节流输出内容

 

2.输入字节流InputStream

(1)InputStream是所有的输入字节流的父类,它是一个抽象类。

(2)ByteArrayInputStream、StringBufferInputStream、FileInputStream是三种基本的介质流,它们分别从Byte数组、StringBuffer和本地文件中读取数据。ObjectOutputStream和所有FilterOutputStream的子类都是装饰流。

(3)使用InputStream完成输入字节流的操作,此类定义如下:

public abstract class InputStream extends Object implements Closeable

(4)InputStream类中定义的方法如下:

关闭:public void close() throws IOException

读取一个字节:public abstract int read() throws IOException

读取一组内容:public int read(byte[] b) throws IOException

读取文件,使用子类FileInputStream

 (5)示例:使用字节流读文件内容

 

二、遇到问题

三、明日学习

 字符流

原文地址:https://www.cnblogs.com/znjy/p/13399898.html