数据流可以读取基本数据类型的数据
● 数据输入流:DataInputStream(InputStream in)
● 数据输出流:DataOutputStream(OutputStream out)
基本类型:byte、short、int、long、double、float、boolean
package cn.itcast.io.p6.datestream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class DateStreamDemo { public static void main(String[] args) throws IOException { writeDate(); readDate(); }
public static void readDate() throws IOException { DataInputStream dis = new DataInputStream(new FileInputStream("date.txt")); String str = dis.readUTF();//读入一个已使用 UTF-8 修改版格式编码的字符串。 System.out.println(str); byte b = dis.readByte(); boolean a = dis.readBoolean(); char c = dis.readChar(); double d = dis.readDouble(); float f = dis.readFloat(); short s = dis.readShort(); dis.close(); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(f); System.out.println(s); // 因为写入文件使用的是修改版的UTF-8码表,所以读取的文件不一致。需要使用对应的流读取DataInputStream // InputStreamReader fis = new InputStreamReader(new FileInputStream("date.txt"),"utf-8"); // char buf [] = new char [1024]; // int len = fis.read(buf); // System.out.println(new String(buf,0,len)); // fis.close(); }
public static void writeDate() throws IOException { DataOutputStream dos = new DataOutputStream(new FileOutputStream("date.txt")); //写数据 dos.writeByte(10); dos.writeBoolean(true); dos.writeChar('A'); dos.writeDouble(1101101.1011110); dos.writeFloat((float) 1.023); dos.writeShort(123); dos.writeUTF("你好");//使用 UTF-8 修改版编码将一个字符串写入基础输出流 dos.close(); } }