首页 > 代码库 > DataOutputStream&DataInputStream

DataOutputStream&DataInputStream

 

我们总觉得历史是极其遥远的东西,与我们并无关联,又觉得历史隐藏在图书馆的旧书之中。

然而,我们每个人都有真真切切的历史。那便是每日的历史。今天自己做了些什么,又是怎么做的,都会成为你历史中的一页。

是畏缩不前、碌碌无为,还是勇猛挑战,花心思比昨天做的更好。每种态度,都会写就属于你的历史。

 

——尼采 《快乐的知识》

 

下面是今天的练习,细节都写到注释里面了:

 1 package Zhang;
 2 
 3 import java.io.DataInputStream;
 4 
 5 import java.io.DataOutputStream;
 6 
 7 import java.io.File;
 8 
 9 import java.io.FileInputStream;
10 
11 import java.io.FileOutputStream;
12 
13 public class DataStreamTest {
14 
15       public static void main(String[] args) throws Exception{
16 
17             //创建文件
18 
19             File file=new File("/home/zhang/Desktop/DataStreamTest.dat");
20 
21             if(!file.exists()){
22 
23                   file.createNewFile();
24 
25             }
26 
27             //DataOutputStream&DataInputStream是对输出输入流的扩展,可以直接读写int double等数据类型
28 
29             //采用的设计模式是装饰模式
30 
31             DataOutputStream dos=new DataOutputStream(new FileOutputStream(file));
32 
33             DataInputStream dis=new DataInputStream(new FileInputStream(file));
34 
35            
36 
37             int testInt=2016;
38 
39             double testDouble=10.12;
40 
41             long testLong=20161012;
42 
43             dos.writeInt(testInt);
44 
45             dos.writeDouble(testDouble);
46 
47             dos.writeLong(testLong);
48 
49             /*
50 
51             * dos.writeUTF("xxx")在写入字符串到文件的同时,在文件中也保存了该字符串的长度,这样
52 
53             * 在使用dis.readUTF()的时候就可以先获取文件中保存的字符串的长度信息,然后读取这个长度
54 
55             * 的字符串。
56 
57             * utf-8 一个汉字占用3个字节
58 
59             * */
60 
61             dos.writeUTF("今天的");
62 
63             dos.writeUTF("天气非常好");
64 
65             dos.close();
66 
67            
68 
69             int intTest=dis.readInt();
70 
71             System.out.println(intTest);
72 
73             double doubleTest=dis.readDouble();
74 
75             System.out.println(doubleTest);
76 
77             long longTest=dis.readLong();
78 
79             System.out.println(longTest);
80 
81             String time=dis.readUTF();
82 
83             String how=dis.readUTF();
84 
85             System.out.println(time+"\t"+how);
86 
87             dis.close();     
88 
89       }
90 
91 }

 

DataOutputStream&DataInputStream