import java.io.*;
public class testjavademo {
public static void main(String[] args)
throws IOException
{
// TODO 自动生成的方法存根
//将数据写入某一种载体
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();
//将数据读出
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();
}
}
结果:
订单信息:产品名称:T恤衫, 数量:10, 价格:18.99
订单信息:产品名称:T恤衫, 数量:10, 价格:18.99
订单信息:产品名称:杯子, 数量:10, 价格:9.22
订单信息:产品名称:洋娃娃, 数量:20, 价格:14.22
订单信息:产品名称:大头针, 数量:39, 价格:5.22
订单信息:产品名称:钥匙链, 数量:40, 价格:4.21
总共需要:938.4799999999999元
最后打开order.txt文件显示是乱码