A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

DataInputStream和DataoutputStream具体有什么作用

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
DataInputStream数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。
DataInputStream 对于多线程访问不一定是安全的。 线程安全是可选的,它由此类方法的使用者负责。

DataoutputStream数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。
具体的可以参照java API

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
DataInputStream与DataOutputStream提供了与平台无关的数据操作,通常会先通过DataOutputStream按照一定的格式输出,再通过DataInputStream按照一定格式读入。由于可以得到java的各种基本类型甚至字符串,这样对得到的数据便可以方便地进行处理,这在通过协议传输的信息的网络上是非常适用的。

如下面范例:

用户的定单用如下格式储存为order.txt文件:

价格数量 描述

18.99 10 T恤杉

9.22 10 杯子

实现机制如下:

(1)、写入端构造一个DataOutputStream,并按照一定格式写入数据:

// 将数据写入某一种载体

DataOutputStream out = new DataOutputStream(new FileOutputStream("order.txt"));

// 价格

double[] prices = { 18.99, 9.22, 14.22, 5.22, 4.21 };

// 数目

int[] units = { 10, 10, 20, 39, 40 };

// 产品名称

String[] descs = { "T恤杉", "杯子", "洋娃娃", "大头针", "钥匙链" };

// 向数据过滤流写入主要类型

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

{

// 写入价格,使用tab隔开数据

out.writeDouble(prices[i]);

out.writeChar('\t');

// 写入数目

out.writeInt(units[i]);

out.writeChar('\t');

// 写入产品名称,行尾加入换行符

out.writeChars(descs[i]);

out.writeChar('\n');

}

out.close();

(2)、计价程序读入并在标准输出中输出:

// 将数据读出

DataInputStream in = new DataInputStream(new FileInputStream("order.txt"));

double price;

int unit;

StringBuffer desc;

double total = 0.0;

try

{

// 当文本被全部读出以后会抛出EOFException例外,中断循环

while (true)

{

// 读出价格

price = in.readDouble();

// 跳过tab

in.readChar();

// 读出数目

unit = in.readInt();

// 跳过tab

in.readChar();

char chr;

// 读出产品名称

desc = new StringBuffer();

while ((chr = in.readChar()) != '\n')

{

desc.append(chr);

}

System.out.println("定单信息: " + "产品名称:"+desc+",\t数量:"+unit+",\t价格:"+price);

total = total + unit * price;

}

}

catch (EOFException e)

{

System.out.println("\n总共需要:" + total+"元");

}

in.close();

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
操作基本数据类型的输入输出流。建议下载个API文档,以便具体查看细节内容。
回复 使用道具 举报
DataInputStream和DataoutputStream  可以用于操作基本数据类型的流对象,           
DataInputStream  数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据
DataoutputStream  数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。
  看java  API  里面很详细
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马