一.数组流
1.流的源和目的地除了可以是文件外,还可以是计算机内存。
2.数组流可以分为两类:
(1)字节数组流
1)输入流:
构造方法:
ByteArrayInputStream(byte[] buf);
此构造方法的字节数组流的源是参数buf指定的数组的全部字节单元。
ByteArrayInputStream(byte[] buf ,int offset,int length);
此方法构造的字节数组流的源是buf指定的数组从offset处按顺序取length个字节单元。
常用方法:
public int read();
该方法可以顺序地从源中读取一个字节,返回读出的字节值。
public int read(byte[] b,int off,int len);
该方法可以顺序地从源中读出参数len指定的字节数,并将读出的字节存放在参数b指定的数组中,参数off指定数组b读出字节的起始位置,返回实际读出的字节个数,若未读出字节read方法返回-1.
2)输出流:
构造方法:
ByteArrayOutputStream();
该方法构造的字节数组输出空间指向一个默认大小为32字节的缓冲区,若输出流向缓冲区写入的字节个数大于缓冲区时,缓冲区的容量会自动增加。
ByteArrayOutputStream(int size);
此方法构造的字节数组输出流指向的缓冲区的初始大小由参数size指定,若输出流向缓冲区写入的字节个数大于缓冲区时,缓冲区的容量会自动的增加。
常用方法:
public void write(int b);
字节数组输出流可调用该方法顺序地向缓冲区写入一个字节。
public void write(byte[] b, int off, int len);
该方法可以将参数b中指定的len个字节顺序地写入缓冲区,参数off指定从b中写出的字节的起始位置。
public byte[] toByteArray();
该方法可以返回输出流写入到缓冲区的全部字节。
(2)字符数组流:将字节数组流中的Byte改为Char,其他相同。
二.数据流
1.什么是数据流?
DataInputStream和DataOutputStream类创建的对象称为数据输入流和数据输出流。
2.它的作用是什么?
它们允许程序按着机器无关的风格读取java原始数据,也就是说,当读取一个数值时,不必再关心这个数值应当是多少字节。
3.构造方法:
1)数据输入流:
DataInputStream(InputStream in);
此构造方法创建的数据输入流指向一个由参数in指定的底层输入流。
2)数据输出流
DataOutputStream(OutputStream out);
此构造方法创建的数据输出流指向一个由参数out指定的底层输出流。
4.常用方法
close();
关闭流。
readBoolean();
读取一个布尔值。
readByte();
读取一个字节。
readChar();
读取一个字符。
readDouble();
读取一个双精度浮点值。
readFloat();
读取一个单精度浮点值。
readInt();
读取一个整型值。
readLong();
读取一个长整型值。
readShort();
读取一个短整型值。
readUnsignedByte();
读取一个无符号字节。
readUnsignedShort();
读取一个无符号短整型值。
readUTF();
读取一个UTF字符串。
skipBytes(int n);
跳过给定数量的字节。
writeBoolean(boolean v);
写入一个布尔值。
writeBytes(String s);
写入一个字符串
writeChars(String s);
写入一个字符串
writeDouble(double v);
写入一个双精度浮点值
writeFloat(float v);
写入一个单精度浮点值
writeInt(int v);
写入一个整型值
writeLong(long v);
写入一个长整型值
writeShort(int v);
写入一个短整型值
writeUTF(String s);
写入一个UTF字符串
三.对象流
1.什么是对象流?
用ObjectInputStream和ObjectOutputStream类创建的对象称为对象输入(出)流。
2.作用
对象输入(出)流可以将一个对象写入到一个文件中(或读取一个对象到文件中)。
3.方法
ObjectInputStream(InputStream in);
此方法是对象输入流的构造方法。
readObject();
此方法读取一个对象到程序中。
ObjectOutputStream(OutputStream out);
此方法是对象输出流的构造方法。
writeObject(object obj);
此方法可以将obj写入一个文件中。