DataInputStream和DataOutputStream是对流的修饰,对流添加自己的格式
<span style="white-space:pre"> </span>DataOutputStream dbos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream("t")));
dbos.writeInt(2);
dbos.writeUTF("userid");
dbos.writeUTF("param");
dbos.flush();
dbos.close();
DataInputStream dbis = new DataInputStream(new BufferedInputStream(new FileInputStream("t")));
System.out.println(dbis.readInt());
System.out.println(dbis.readUTF());
System.out.println(dbis.readUTF());
dbis.close();
调用一次writeXXX,就写入的是字节长度和字节
对应的readXXX就是根据字节长度读取字节流
BufferedReader(new InputStreamReader(dbis)) 是不行的,因为InputStreamReader需要知道dbis字节流的编码,而这种编码是其特有的,所有不能正确解码