java学习笔记 处理流之数据流

以前写数据如double类型 3.1415926,写进文件必须把这个Double类型转换成字符串写进去,这样做一是比较麻烦,二是如果数据比较长,那么占用内存空间会很大(实际上一个Double类型在内存中占用64位既8个字节)。

DataOutputStream和DataInputStream类的适用来解决这一问题,可以把这8个字节直接写入内存里面。

DataOutputStream和DataInputStream类都是处理流,既包在管道上的管道。

操作示例

import java.io.*;

public class Test {
    public static void main(String[] args) {
        try {
            File f = new File("e:\\java\\aaa.txt");
            DataOutputStream dos = new DataOutputStream(new FileOutputStream(f));
            String strs[] = {"衬衣","手套","围巾"};
            float  prices[] = {98.3f,30.3f,50.5f};
            int nums[] = {3,2,1};
            for (int i = 0;i < strs.length;i++) {
                dos.writeChars(strs[i]);
                dos.writeChar('\t');
                dos.writeFloat(prices[i]);
                dos.writeChar('\t');
                dos.writeInt(nums[i]);
                dos.writeChar('\n');    
            } 
            dos.close();
            DataInputStream dis = new DataInputStream(new FileInputStream(f));
            char temp[];
            String str;
            Float price = 0f;
            int num = 0;
                    char c;
                    temp = new char[100];
                    for(int j = 0;j < strs.length;j++){
                        int len = 0;
                        while((c = dis.readChar()) != '\t') {
                            temp[len] = c;
                            len++;
                        }    
                      str = new String(temp ,0,len);
                      //dis.readChar();?
                      price = dis.readFloat();
                      dis.readChar();
                      num = dis.readInt();
                      dis.readChar();
                      System.out.printf("商品名称: %s;价格: %5.2f;数量: %d\n",str,price,num);
              }
              //dis.close();?没有close()方法?
        }catch(IOException e) {
            e.printStackTrace();    
        }    
    }    
}

/*
EOFException io流意外达到文件结尾
*/
View Code

 

java/aaa.txt文件显示如下:

r1

运行效果:

r2

posted @ 2016-08-13 19:13  鱼虎纹鲨鱼  阅读(418)  评论(0编辑  收藏  举报