thrift-TFileTransport

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);
    }

本站公眾號
   歡迎關注本站公眾號,獲取更多信息