I/O————数据流
如何将一个long类型的数据写入文件中?
转字符串 → 通过 getbytes() 写进去,费劲,而且在此过程中 long 类型的数需要不断地转换.
现在,Java 中的数据流能够很好的解决这个问题(不需要转换,直接写进去)
DataInputStream 数据输入流
DataOutputStream 数据输出流
数据流写入并读取数据:
注意:
基于字节输入流和字节输出流FileInputStream和FileOutputStream
要用DataInputStream 读取一个文件,这个文件必须是由DataOutputStream 写出的,
否则会出现EOFException,因为DataOutputStream 在写出的时候会做一些特殊标记,
只有DataInputStream 才能成功的读取。
public class DataStreamTest { public static void main(String[] args) { write(); read(); } public static void read() { File file = new File("D:\\lolfilder\\datastream.txt"); try( FileInputStream fis = new FileInputStream(file); DataInputStream dis = new DataInputStream(fis); ) { boolean b = dis.readBoolean(); int i = dis.readInt(); String str = dis.readUTF(); System.out.println("获取boolean型:"+b); System.out.println("获取int型:"+i); System.out.println("获取string型:"+str); } catch (Exception e) { e.printStackTrace(); } } public static void write() { File file = new File("D:\\lolfilder\\datastream.txt"); try( FileOutputStream fos = new FileOutputStream(file); DataOutputStream dos = new DataOutputStream(fos); ) { dos.writeBoolean(false); dos.writeInt(300); dos.writeUTF("这是数据输出流"); } catch (Exception e) { e.printStackTrace(); } }