黑马程序员技术交流社区
标题:
DataInputStream和DataoutputStream具体有什么作用
[打印本页]
作者:
陈波
时间:
2012-5-8 23:12
标题:
DataInputStream和DataoutputStream具体有什么作用
DataInputStream和DataoutputStream具体有什么作用
作者:
曹魁
时间:
2012-5-8 23:21
DataInputStream数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。
DataInputStream 对于多线程访问不一定是安全的。 线程安全是可选的,它由此类方法的使用者负责。
DataoutputStream数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。
具体的可以参照java API
作者:
谭景宾
时间:
2012-5-8 23:26
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();
作者:
黑马-王建雨
时间:
2012-5-9 00:24
操作基本数据类型的输入输出流。建议下载个API文档,以便具体查看细节内容。
作者:
邱俊杰
时间:
2012-5-9 01:11
DataInputStream和DataoutputStream 可以用于操作基本数据类型的流对象,
DataInputStream 数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据
DataoutputStream 数据输出流允许应用程序以适当方式将基本 Java 数据类型写入输出流中。然后,应用程序可以使用数据输入流将数据读入。
看java API 里面很详细
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2