3 public class read_trace
{
4 public static void main(String
[] args
) {
8 FileInputStream file_input
= new FileInputStream ("../trace.dat");
9 DataInputStream data_input
= new DataInputStream (file_input
);
16 timestamp
= data_input
.readInt();
17 id
= data_input
.readShort();
18 length
= data_input
.readByte();
20 byte[] buf
= new byte[length
];
21 data_input
.readFully(buf
, 0, length
);
24 ByteArrayInputStream eargs
= new ByteArrayInputStream(buf
);
25 DataInputStream eargs_data
= new DataInputStream (eargs
);
27 /* read arg 1 (short) */
28 short arg1
= eargs_data
.readShort();
30 /* read arg 2 (string) */
31 eargs_data
.mark(10000);
33 while(eargs_data
.readByte() != 0)
36 byte[] arg2
= new byte[strlen
];
37 eargs_data
.readFully(arg2
, 0, strlen
);
39 if(args
.length
>0 && args
[0].equals("-p"))
40 System
.out
.printf("timestamp %d id %d args=(short=%d string=\"%s\") %n", timestamp
, id
, arg1
, new String(arg2
));
44 catch(IOException e
) {
45 //System.out.println ("IO exception = " + e );
46 //e.printStackTrace();