数据操作流

22 篇文章 0 订阅

数据操作流

在Java中提供了两个与平台无关的数据操作流,分别为数据输出流(DataOutputStream)数据输入流(DataInputStream)

就是类似于按照一定格式将数据读入文件,再按照一定格式将数据从文件读出,哈哈,小伙伴们请看下面的代码就懂了,实践大于一切!!!

数据输出流(DataOutputStream)的常用方法

在这里插入图片描述

数据输入流(DataInputStream)的常用方法

在这里插入图片描述

在这里插入图片描述

案例演示
向文件中输出数据
package chapter_twelve;

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;

public class DataOutputStreamDemo01 {
    public static void main(String[] args) throws Exception {
        File file = new File("D:" + File.separator + "test.txt");           //实例化文件类File对象
        DataOutputStream dataOutputStream =
                new DataOutputStream(new FileOutputStream(file));           //实例化数据输出流

        String[] name = {"Java项目开发宝典","Python程序设计","高级程序语言设计基础"};       //定义名称数组
        float[] price = {98.3f,22.8f,54.1f};                                //定义价格数组
        int[] num = {3,4,5};                                                   //定义数量数组

        for(int i = 0; i < name.length; i++){               //将这些数据循环写入文件
            dataOutputStream.writeChars(name[i]);       //写入名称
            dataOutputStream.writeChar('\t');       //写入制表符
            dataOutputStream.writeFloat(price[i]);              //写入价格price
            dataOutputStream.writeChar('\t');               //写入制表符
            dataOutputStream.writeInt(num[i]);                  //写入数量
            dataOutputStream.writeChar('\n');               //写入换行符
        }

        dataOutputStream.close();           //关闭数据输出流

    }
}

结果

在这里插入图片描述

从文件中读取数据
package chapter_twelve;

import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;

public class DataInputStreamDemo01 {
    public static void main(String[] args) throws Exception{
        File file = new File("D:" + File.separator + "test.txt");   //实例化File类实例file对象

        DataInputStream dataInputStream =
                new DataInputStream(new FileInputStream(file));         //实例化数据输入流对象

        String name = null;         //定义名称
        float price = 0;            //定义价格
        int num = 0;                //定义数量

        for (int i = 0; i < 3; i++){            //将文件内的三行数据读出
            char[] chars = new char[200];
            int len = 0;
            char c = 0;
            while((c = dataInputStream.readChar()) != '\t'){        //循环读取名称
                chars[len++] = c;
            }
            name = new String(chars,0,len);         //变为字符串name
            price = dataInputStream.readFloat();            //读取价格
            dataInputStream.readChar();                 //读取字符制表符
            num = dataInputStream.readInt();                //读取数量
            dataInputStream.readChar();                 //读取换行符
            System.out.printf("名称:%s; \t价格:%5.2f; \t数量:%d\n",name,price,num);       //输出具体信息

        }

        dataInputStream.close();            //关闭数据输入流
    }
}

结果

名称:Java项目开发宝典; 	价格:98.30; 	数量:3
名称:Python程序设计; 	价格:22.80; 	数量:4
名称:高级程序语言设计基础; 	价格:54.10; 	数量:5
总结

数据的输出输入流与数据的随机存取RandomAccessFile类有些类似,哈哈,其实我也不太是太会用,能够掌握就行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gaolw1102

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值