javaio流学习总结(2)
时间: 12-02
作者:胡君恬
栏目:总结
readutf():网络传输常用方法 读一个unicode字符串
dataoutputstream方法与datainputstream基本对应为写的方法
//此构造函数等于已可以往一个字节数组里输入内容
bytearrayoutputstream baos = new bytearrayoutputstream ();
//此方法为获取一个字节数组方法返回字节数组
baos.tobytearray();
//此方法获取字节数组占了多少字节
new bytearrayinputstream(一个字节数组)。available()
1bytearrayoutputstream baos =
2 new bytearrayoutputstream();
3 dataoutputstream dos =
4 new dataoutputstream(baos);
5 try {
6 dos.writedouble(math.random());
7 dos.writeboolean(true);
8 bytearrayinputstream bais =
9 new bytearrayinputstream(baos.tobytearray());
10 system.out.println(bais.available());
11 datainputstream dis = new datainputstream(bais);
12 system.out.println(dis.readdouble());
13 system.out.println(dis.readboolean());
14 dos.close(); dis.close();
15 } catch (ioexception e) {
16 e.printstacktrace();
17 }
十二、print流
print流只有输出流无输入流,printwriter和printstream分别针对字符字节
两个类提供了重载的print和println方法用于多种数据类型的输出
printwriter和printstream的输出操作不会抛出异常
printwriter和printstream有自动flush功能
----system.setout(接收outputstream类):用于设置系统默认输出流
十三、object流
等同于c#序列化,用直接将object写入或读出
transient关键字为不序列化此成员变量
需要序列化的类必须实现serializable接口
主要方法:writeobject(object); readobject();
读出为object类型需要强转数据类型
1 import java.io.*;
2
3 public class testobjectio {
4 public static void main(string args[]) throws exception {
5 t t = new t();
6 t.k = 8;
7 fileoutputstream fos = new fileoutputstream("d:/share/java/io/testobjectio.dat");
8 objectoutputstream oos = new objectoutputstream(fos);
9 oos.writeobject(t);
10 oos.flush();
11 oos.close();
12
13 fileinputstream fis = new fileinputstream("d:/share/java/io/testobjectio.dat");
14 objectinputstream ois = new objectinputstream(fis);
15 t treaded = (t)ois.readobject();
16 system.out.println(treaded.i + " " + treaded.j + " " + treaded.d + " " + treaded.k);
17
18 }
19 }
20
21 class t
22 implements serializable
23 {