// Apache Thrift File Transport in Java
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import org.apache.thrift.transport.TSimpleFileTransport;
import org.apache.thrift.transport.TTransportException;
public class FileTrans {
static private class Trade implements Serializable {
public String symbol;
public double price;
public int size;
};
public static void main(String[] args)
throws IOException, TTransportException, ClassNotFoundException {
Trade trade = new Trade();
trade.symbol = "F";
trade.price = 13.10;
trade.size = 2500;
TSimpleFileTransport trans_out = new TSimpleFileTransport("data",false,true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(trade);
trans_out.write(baos.toByteArray());
trans_out.close();
TSimpleFileTransport trans_in = new TSimpleFileTransport("data",true,false);
byte[] buf = new byte[128];
int iBytesRead = trans_in.read(buf, 0, buf.length);
ByteArrayInputStream bais = new ByteArrayInputStream(buf);
ObjectInputStream ois = new ObjectInputStream(bais);
trade = (Trade) ois.readObject();
System.out.println("Trade(" + iBytesRead + "): " + trade.symbol
+ " " + trade.size + " @ " + trade.price);
}
}