数据流操作(二)

 

数据流:

           DataInputStream(数据输入流) ;DataOutputStream(数据输出流)

小实例:

import java.io.*;

public class DataStreamTest {

public static void main(String[] args){

     try{

        String name[] = {"Tom","Jack","Mary"};//定义字符串name数组

        double salary[] = {250,265.7,300.6};//定义double型数组

        FileOutputStream fos = new FileOutputStream("name/salary");将name和salary写入文件输出流中

        DataOutputStream dos = new DataOutputStream(fos);//文件输出流写入数据流中

        for(int i=0;i<name.length;i++){

          dos.writeUTF(name[i]);

          dos.writeDouble(salary[i]);

        } name和salary一一对应

 

       

        fos.close();

        dos.close();

     //

        FileInputStream fis = new FileInputStream("name/salary");

        DataInputStream dis = new DataInputStream(fis);

///读出数据       

        for(int i=0;i<name.length;i++){

          System.out.println(dis.readUTF() + ":" +dis.readDouble());

        }

       

   }catch(Exception e){

        e.printStackTrace();

     }

   }

}

 

缓冲流:

      缓冲流(BufferedStream),即为每一个缓冲流提供一块缓冲区,一个缓冲区就是专门用于传送数据的一个内存。

当向一个缓冲流写入数据时,系统会将数据先存放在一个缓冲区中,当这个缓冲区存满以后会将这些数据全部发送给相应的设备;同样的,当从一个缓冲流中提取数据时,系统会先从缓冲区中读取数据,当缓冲区为空时,会自动从相应设备中读取数据存放在缓冲区中。由此可见,缓冲流和缓冲区的提出提高了数据的传输效率。

flush():无论缓冲区是否已存满,将缓冲区中的数据强制输出;

小实例:

import java.io.*;//导包

public class BufferedStreamTest {

   public static void main(String[] args) {

     try {

        FileOutputStream fos = new FileOutputStream("name/bufferFile");

        BufferedOutputStream bos = new BufferedOutputStream(fos);//创建一个缓冲流对象

        DataOutputStream dos = new DataOutputStream(bos);

       

        dos.writeUTF("Hello world!");

        dos.writeBoolean(false);

        dos.writeInt(125);

       

        dos.close();

        bos.close();

        fos.close();

       

        FileInputStream fis = new FileInputStream("name/bufferFile");

        BufferedInputStream bis = new BufferedInputStream(fis);

        DataInputStream dis = new DataInputStream(bis);

       

        System.out.println(dis.readUTF()+"\n"+dis.readBoolean()+"\n"+dis.readInt());

       

        dis.close();

        bis.close();

        fis.close();

       

     } catch (Exception e) {

       

        e.printStackTrace();

     }

 

   }

 

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值