内存流 数据流 打印流的简单使用

来源:互联网 发布:知乎 圣诞 编辑:程序博客网 时间:2024/06/09 23:13
1.  内存操作流:用来处理临时存储信息的,程序结束,数据就从内存中消失
  字节数组:(字节流)
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();



0 0
原创粉丝点击