首页 > 代码库 > java数据流

java数据流

  DataInputStream和DataOutputStream提供了可以直接存取java基本类型(int,double等)的方法。对于存取基本类型,在效率上比普通字节流要快很多。它们分别继承inputStream和outputStream,并且需要套接在InputStream和OutputStream上。

  这两个类中的方法除了有读写基本类型的方法外,还有一个读写utf(即Unicode字符串utf-8)的方法。

以下程序和讲解摘自马士兵教程

 1 import java.io.ByteArrayInputStream; 2 import java.io.ByteArrayOutputStream; 3 import java.io.DataInputStream; 4 import java.io.DataOutputStream; 5 import java.io.IOException; 6  7  8 public class TestDataStream { 9 10     /**11      * @param args12      */13     public static void main(String[] args) {14         // TODO Auto-generated method stub15         ByteArrayOutputStream baos= new ByteArrayOutputStream();16         DataOutputStream dos=new DataOutputStream(baos);17         18         try {19             20             dos.writeDouble(0.11);21             dos.writeBoolean(true);22             ByteArrayInputStream bais=new ByteArrayInputStream(baos.toByteArray());23             System.out.println(bais.available());24             DataInputStream dis=new DataInputStream(bais);25             System.out.println(dis.readDouble());  //注意:这里必须先读double后读boolean,否则无法正确读取数据26             System.out.println(dis.readBoolean());dos.close();dis.close();27         } catch (IOException e) {28             // TODO Auto-generated catch block29             e.printStackTrace();30         }31     }32 33 }

 

技术分享

java数据流