java 数据流DataOutputStream和DataInputstream_i++

应用实例

import java.io.*;

public class DataStreamDemo
{
public static void main(String[] args)
{
try
{
DataOutputStream out=new DataOutputStream(new FileOutputStream("F:\\workspace\\JavaPrj\\test.txt"));
double[] prices={18.99,9.22,14.22,5.22,4.21};
int[] units={10,10,20,39,40};
String[] descs={"bike","book","boat","boot","bus"};
for(int i=0;i<prices.length;i++)
{
try
{
out.writeDouble(prices[i]);
out.writeChar('\t');
out.writeInt(units[i]);
out.writeChar('\t');
out.writeChars(descs[i]);
out.writeChar('\n');
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}
try
{
out.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

try
{
DataInputStream in=new DataInputStream(new FileInputStream("F:\\workspace\\JavaPrj\\test.txt"));
double prices;
int num;
StringBuffer name;
char chr;
int len;

try
{
while(true)
{
len=5;
name=new StringBuffer();
prices=in.readDouble();
in.readChar();
num=in.readInt();
in.readChar();
while((chr=in.readChar())!='\n')
{
name.append(chr);
}
//double类型转String类型以及加入空格对齐的方法
System.out.println("产品名称:"+name+"\t价格:"+prices+getBlanks(len-Double.toString(prices).length())+"\t数量:"+num);
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//加入空格进行对齐操作
public static String getBlanks(int n)
{
String str="";
while(n>0)
{
str+=" ";
n--;
}
return str;
}
}

java 数据流DataOutputStream和DataInputstream_应用实例_02