javaIO——数据操作流

本节目标:

    1.掌握DataOutputStream和DataInputStream的作用

    2.使用数据操作流读写数据

数据操作流

在io包中,提供了两个与平台无关的数据操作流:

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

通常数据输出流会按照一定的格式输出,通过数据输入流按照一定的格式读入。例如:


DataOutputStream

  java.io.OutputStream
      java.io.FilterOutputStream
          java.io.DataOutputStream

同时实现了DataOutput接口,该接口定义了一系列写入数据writeXXX()的方法。


如果要想写入数据,必须指定数据的保存格式。


public class DataOutputStreamDemo1 {
public static void main(String[] args) throws IOException {
File f = new File("f:" + File.separator + "test1.txt");
DataOutputStream dos = new DataOutputStream(new FileOutputStream(f));
String[] names = {"衬衣","手套","围巾"};
float prices[] = {98.3f,30.3f,50.5f};
int nums[] = {3,2,1};
for (int i = 0; i < names.length; i++) {
dos.writeChars(names[i]);
dos.writeChars("\t");
dos.writeFloat(prices[i]);
dos.writeChars("\t");
dos.writeInt(nums[i]);
dos.writeChars("\n");
}
dos.close();
}
}

DataInputStream

public class DataOutputStreamDemo2 {
public static void main(String[] args) throws IOException {
File f = new File("f:" + File.separator + "test1.txt");
DataInputStream dis = new DataInputStream(new FileInputStream(f));
String name = null;// 接收名称
float price = 0.0f;// 接收价格
int num = 0;// 接收数量
char c = 0;
int len = 0;
try {
while (true) {
char temp[] = new char[200];// 存放名称
while ((c = dis.readChar()) != '\t') {
temp[len] = c;
len++;
}
name = new String(temp, 0, len);
price = dis.readFloat();
dis.readChar();// 读取\t
num = dis.readInt();
dis.readChar();// 读取\n
System.out.printf("名称:%s,价格:%5.2f,数量:%d", name, price, num);
}
} catch (Exception e) {
}
dis.close();
}
}









  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值