Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.数据流特点
操作基本数据类型的数据类型,若不使用数据流,写出之后会有什么结果?当然是截断啦。那有什么很好的解决方案吗?当然有啦,就是我们要说的数据流。
二.写数据(DataOutputStream)
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.note6; import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException; public class DataOutputStreamDemo {
public static void main(String[] args) throws IOException {
DataOutputStream dos = new DataOutputStream(new FileOutputStream("yinzhengjie.data")); //写入一个int类型的数据
dos.write(97);
//写入一个布尔值
dos.writeBoolean(true);
//写入一个字符类型
dos.writeChar(97);
//写入一个double类型
dos.writeDouble(9.8);
//写入字符串,使用的是UTF-8编码
dos.writeUTF("尹正杰"); //释放资源
dos.close();
}
}
三.读数据(DataInputStream)
/*
@author :yinzhengjie
Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
EMAIL:y1053419035@qq.com
*/ package cn.org.yinzhengjie.note6; import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; public class DataOutputStreamDemo {
public static void main(String[] args) throws IOException {
DataInputStream dis = new DataInputStream(new FileInputStream("yinzhengjie.data")); //注意存入的顺序,读取的时候需要按照写入的顺序来读取!
System.out.println(dis.read());
System.out.println(dis.readBoolean());
System.out.println(dis.readChar());
System.out.println(dis.readDouble());
System.out.println(dis.readUTF()); }
} /*
以上代码执行结果如下:
97
true
a
9.8
尹正杰
*/