1. 内存操作流:用来处理临时存储信息的,程序结束,数据就从内存中消失
字节数组:(字节流)
ByteArrayInputStream
ByteArrayInputStream(byte[] buf) 创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组。
ByteArrayOutputStream
字符数组:(字符流)
CharArrayReader
CharArrayReader(char[] buf) 根据指定的 char 数组创建一个 CharArrayReader。
CharArrayWriter
字符串:(字符流)
StringReader
StringReader(String s) 创建一个新字符串 reader。
DataInputStream
DataInputStream(InputStream in)
DataOutputStream
DataOutputStream(OutputStream out)
字节打印流:PrintStream
字符打印流:PrintWriter
3.1 打印流的特点:
只有写数据的,没有读数据的,只能操作目的地,不能操作数据源
可以操作任意类型的数据
如果启动了自动刷新,能够自动刷新
该流是可以直接操作文本文件的
PrintWriter pw=new PrintWriter(new FileWriter("b.txt"),true); + 使用println()方法 , 并且实现了数据的换行
3.2 println()方法等价于:
bw.write();
bw.newLine();
bw.flush();
字节数组:(字节流)
ByteArrayInputStream
ByteArrayInputStream(byte[] buf) 创建一个 ByteArrayInputStream,使用 buf 作为其缓冲区数组。
ByteArrayOutputStream
字符数组:(字符流)
CharArrayReader
CharArrayReader(char[] buf) 根据指定的 char 数组创建一个 CharArrayReader。
CharArrayWriter
字符串:(字符流)
StringReader
StringReader(String s) 创建一个新字符串 reader。
StringWiter
//写数据:
ByteArrayOutputStream baos=new ByteArrayOutputStream();
baos.write("hello,world".getBytes());
baos.write("java".getBytes());
//将数据转成字节数组
byte []bys=baos.toByteArray();
ByteArrayInputStream bais=new ByteArrayInputStream(bys);
int len=0;
while((len=bais.read())!=-1){
System.out.print((char)len);
}
2. 数据输入流: 可以读些基本数据类型的数据DataInputStream
DataInputStream(InputStream in)
DataOutputStream
DataOutputStream(OutputStream out)
//数据输出流:用来写数据
DataOutputStream dos=new DataOutputStream(new FileOutputStream("a.txt"));
//写数据
dos.write(20);
dos.writeInt(25);
dos.writeFloat(2.03F);
//数据输入流,用来读数据
DataInputStream dis=new DataInputStream(new FileInputStream("a.txt"));
int a=dis.read();
int s=dis.readInt();
float f=dis.readFloat();
dos.close();
dis.close();
3. 打印流:可以操作任意类型的数据字节打印流:PrintStream
字符打印流:PrintWriter
3.1 打印流的特点:
只有写数据的,没有读数据的,只能操作目的地,不能操作数据源
可以操作任意类型的数据
如果启动了自动刷新,能够自动刷新
该流是可以直接操作文本文件的
//创建字符打印流对象
PrintWriter pw=new PrintWriter(new FileWriter("b.txt"),true);
pw.println(100);
pw.println("学习");
pw.println(true);
pw.close();
打印流的自动刷新功能PrintWriter pw=new PrintWriter(new FileWriter("b.txt"),true); + 使用println()方法 , 并且实现了数据的换行
3.2 println()方法等价于:
bw.write();
bw.newLine();
bw.flush();