TFileTransport是文件形式读写的Transport实现
内部封装了RandomAccessFile的文件,目前java版本只支持读read操做,不支持write
文件分为分为三层chunk,event和具体的数据,
每1610241024byte的数据为一个chunk,一个chunk中又能够分为多个event,每一个event的头4个byte是小端表示(即高位在后,低位在前)的当前event数据的大小,在调用read的时候。底层使用的RandomAccessFile也能够快速根据Chunk进行跳转读到对应数据。
TFileTransport主要用于读取文件做为thrift输入的状况。java
@Test public void testFileTransport() throws IOException, TTransportException { int num_chunks = 10; TFileTransport t = new TFileTransport("d://file", true); t.open(); System.out.println("NumChunks=" + t.getNumChunks()); byte[] buf = new byte[2]; t.seekToChunk(0); t.read(buf, 0, 2); }