1 import java.io.BufferedInputStream;
2 import java.io.BufferedOutputStream;
3 import java.io.DataInputStream;
4 import java.io.DataOutputStream;
5 import java.io.File;
6 import java.io.FileInputStream;
7 import java.io.FileOutputStream;
8
9 public class FileDemo2 {
10 public static void main(String[] args) throws Exception {
11 File file = new File("demo.txt");
12
13 // Java中的IO几乎全都使用装饰模式
14
15 // 创建一个节点流
16 FileOutputStream fos = new FileOutputStream(file);
17 // 利用装饰模式添加各种功能、
18 // 也就是使用过滤流
19 BufferedOutputStream bos = new BufferedOutputStream(fos);
20 DataOutputStream dos = new DataOutputStream(bos);
21
22 // dos此时拥有缓冲和 写入基本数据类型的能力
23 dos.writeFloat(1.11f);
24 dos.writeBoolean(true);
25 dos.writeByte(25);
26
27 dos.close(); // 关闭最外层的流 其内部包装的会自动关闭
28
29 /* ******读取内容******** */
30 FileInputStream fis = new FileInputStream(file);
31 BufferedInputStream bis = new BufferedInputStream(fis);
32 DataInputStream dis = new DataInputStream(bis);
33
34 // 读取必须按照写入的顺序
35 float f = dis.readFloat();
36 boolean bool = dis.readBoolean();
37 byte by = dis.readByte();
38
39 dis.close();
40
41 //删除临时文件
42 if(!file.delete())
43 System.out.println("删除文件失败");
44
45 System.out.println(f);
46 System.out.println(bool);
47 System.out.println(by);
48 }
49 }