TFileTransport是文件形式读写的Transport实现
内部封装了RandomAccessFile的文件,目前java版本只支持读read操作,不支持write 文件分为分为三层chunk,event和具体的数据, 每1610241024byte的数据为一个chunk,一个chunk中又可以分为多个event,每个event的头4个byte是小端表示(即高位在后,低位在前)的当前event数据的大小,在调用read的时候。底层使用的RandomAccessFile也可以快速根据Chunk进行跳转读到对应数据。 TFileTransport主要用于读取文件作为thrift输入的情况。@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); }