import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class DataStream {
public static void main(String[] args) throws IOException {
DataOutputStream out = new DataOutputStream(new FileOutputStream(
"Java2s.txt"));
double[] prices = { 19.99, 9.99, 15.99, 3.99, 4.99 };
int[] units = { 12, 8, 13, 29, 50 };
String[] descs = { "Java", "Source", "and", "Support" , "last"};
byte[] data = new byte[4];
for (int i = 0; i < 4; i++)
{
data[i] = 101;
}
for (int i = 0; i < prices.length; i++) {
out.writeDouble(prices[i]);
out.writeChar('\t');
out.writeInt(units[i]);
out.writeChar('\t');
out.write(data, 0, 4);
out.writeChar('\t');
out.writeUTF(descs[i]);
}
out.close();
// read it in again
DataInputStream in = new DataInputStream(new FileInputStream(
"Java2s.txt"));
double price;
int unit;
String desc;
double total = 0.0;
byte[] outdata = new byte[4];
try {
while (true) {
price = in.readDouble();
in.readChar(); // throws out the tab
unit = in.readInt();
in.readChar(); // throws out the tab
int r = in.read(outdata);
in.readChar(); // throws out the tab
desc = in.readUTF();
System.out.println(price);
System.out.println(unit);
System.out.println(desc);
for (int i=0; i<4; i++)
{
System.out.println(" " + (byte)outdata[i]);
}
total = total + unit * price;
}
} catch (EOFException e) {}
in.close();
}
}