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 //System.out.printf("timestamp %d id %d args=(short=%d string=\"%s\") %n", timestamp, id, arg1, new String(arg2));
40 String strout
= String
.format("timestamp %d id %d args=(short=%d string=\"%s\") %n", timestamp
, id
, arg1
, new String(arg2
));
41 tmp
+= strout
.length();
45 catch(IOException e
) {
46 //System.out.println ("IO exception = " + e );
47 //e.printStackTrace();
51 System
.out
.println(tmp
);