// Apache Thrift Compact Protocol Struct Writer in Java import org.apache.thrift.TException; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.protocol.TCompactProtocol; import org.apache.thrift.protocol.TField; import org.apache.thrift.protocol.TStruct; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TSimpleFileTransport; import org.apache.thrift.protocol.TType; public class CompFileWrite { static private class Trade { public String symbol; public double price; public int size; }; public static void main(String[] args) throws TException { TTransport trans = new TSimpleFileTransport("data.comp", false, true); TProtocol proto = new TCompactProtocol(trans); Trade trade = new Trade(); trade.symbol = "F"; trade.price = 13.10; trade.size = 2500; proto.writeStructBegin(new TStruct()); proto.writeFieldBegin(new TField("symbol", TType.STRING, (short) 1)); proto.writeString(trade.symbol); proto.writeFieldEnd(); proto.writeFieldBegin(new TField("price", TType.DOUBLE, (short) 2)); proto.writeDouble(trade.price); proto.writeFieldEnd(); proto.writeFieldBegin(new TField("size", TType.I32, (short) 3)); proto.writeI32(trade.size); proto.writeFieldEnd(); proto.writeFieldStop(); proto.writeStructEnd(); System.out.println("Wrote trade to file"); } }