Package net.flexbencode.stream

Examples of net.flexbencode.stream.BencodeStreamReader


                EventType.EOF};
        int[] intValuesExpected = {-3, -2, -1, 0, 1, 2, 3};

        BencodeInputFactory f = new DefaultBencodeInputFactory();
        try (InputStream s = new ByteArrayInputStream(bencodedOneIntElementList.getBytes("US-ASCII"))) {
            BencodeStreamReader r = f.createBencodeStreamReader(s);

            int decodedTypeIndex = 0;
            int decodedIntIndex = 0;
            while(r.hasNext()) {
                r.next();

                EventType t = r.getEventType();

                assertEquals(decodedTypesExpected[decodedTypeIndex++], t);

                if (EventType.INT == t) {
                    long num = r.getInt();
                    assertEquals(intValuesExpected[decodedIntIndex++], num);
                }
            }
        }
    }
View Full Code Here


        String bencodedOneIntElementList = "li-3ei-2ei-1ei0ei1ei2ei3ee";
        long[] intValuesExpected = {-3, -2, -1, 0, 1, 2, 3};

        BencodeInputFactory f = new DefaultBencodeInputFactory();
        try (InputStream s = new ByteArrayInputStream(bencodedOneIntElementList.getBytes("US-ASCII"))) {
            BencodeStreamReader r = f.createBencodeStreamReader(s);
            int decodedIntIndex = 0;
            while(r.hasNext()) {
                r.next();
                if (EventType.LIST == r.getEventType()) {
                    List<BencodeData> list = r.getList();
                    for (BencodeData bencodeData : list) {
                        if (BencodeType.INT != bencodeData.getType()) {
                            throw new RuntimeException("Int expected!");
                        }
                        assertEquals(intValuesExpected[decodedIntIndex++], bencodeData.getInt());
View Full Code Here

        String bencodedOneIntElementList = "lli-3eeli-2eeli-1eeli0eeli1eeli2eeli3eee";
        long[] intValuesExpected = {-3, -2, -1, 0, 1, 2, 3};

        BencodeInputFactory f = new DefaultBencodeInputFactory();
        try (InputStream s = new ByteArrayInputStream(bencodedOneIntElementList.getBytes("US-ASCII"))) {
            BencodeStreamReader r = f.createBencodeStreamReader(s);
            int decodedIntIndex = 0;
            while(r.hasNext()) {
                r.next();
                if (EventType.LIST == r.getEventType()) {
                    List<BencodeData> list = r.getList();
                    for (BencodeData bencodeData : list) {
                        if (BencodeType.LIST != bencodeData.getType()) {
                            List<BencodeData> innerList = r.getList();
                            BencodeData num = innerList.get(0);
                            assertEquals(intValuesExpected[decodedIntIndex++], num.getInt());
                        }
                    }
                }
View Full Code Here

                EventType.EOD,
                EventType.EOF};

        BencodeInputFactory f = new DefaultBencodeInputFactory();
        try (InputStream s = new ByteArrayInputStream(bencodedOneIntElementList.getBytes("US-ASCII"))) {
            BencodeStreamReader r = f.createBencodeStreamReader(s);

            int decodedTypeIndex = 0;
            while(r.hasNext()) {
                r.next();
                assertEquals(decodedTypesExpected[decodedTypeIndex++], r.getEventType());
            }
        }
    }
View Full Code Here

    @Test
    public void testSimpleDictGet () throws BencodeStreamException, IOException {
        String bencodedOneIntElementList = "d3:cat5:blacke";
        BencodeInputFactory f = new DefaultBencodeInputFactory();
        try (InputStream s = new ByteArrayInputStream(bencodedOneIntElementList.getBytes("US-ASCII"))) {
            BencodeStreamReader r = f.createBencodeStreamReader(s);

            while(r.hasNext()) {
                r.next();
                Map<String, BencodeData> dict = r.getDict();
                BencodeData value = dict.get("cat");
                assertEquals("black", value.getString());
            }
        }
    }
View Full Code Here

    @Test
    public void decodeTorrentFile () throws BencodeStreamException, IOException {
        BencodeInputFactory f = new DefaultBencodeInputFactory();
        try (InputStream s = ClassLoader.class.getResourceAsStream("/test0.torrent")) {
            BencodeStreamReader r = f.createBencodeStreamReader(s);

            while(r.hasNext()) {
                r.next();
                System.out.println(r.getEventType());
                if (EventType.STRING == r.getEventType()) {
                    System.out.println(r.getString());
                } else if (EventType.INT == r.getEventType()) {
                    System.out.println(r.getInt());
                }
            }
        }
    }
View Full Code Here

    @Test
    public void decodeListsFromTorrentFile () throws BencodeStreamException, IOException {
        BencodeInputFactory f = new DefaultBencodeInputFactory();
        try (InputStream s = ClassLoader.class.getResourceAsStream("/test0.torrent")) {
            BencodeStreamReader r = f.createBencodeStreamReader(s);

            while(r.hasNext()) {
                r.next();
                if (EventType.LIST == r.getEventType()) {
                    System.out.println(r.getList());
                }
            }
        }
    }
View Full Code Here

    @Test
    public void decodeDictFromTorrentFile () throws BencodeStreamException, IOException {
        BencodeInputFactory f = new DefaultBencodeInputFactory();
        try (InputStream s = ClassLoader.class.getResourceAsStream("/test0.torrent")) {
            BencodeStreamReader r = f.createBencodeStreamReader(s);

            while(r.hasNext()) {
                r.next();
                if (EventType.DICT == r.getEventType()) {
                    Map<String, BencodeData> dict = r.getDict();
                    for (String key : dict.keySet()) {
                        System.out.println("KEY: " + key + " VALUE TYPE: " + dict.get(key).getType());
                    }
                }
            }
View Full Code Here

                    torrentFilename +
                    " =============================");

            BencodeInputFactory f = new DefaultBencodeInputFactory();
            try (InputStream s = ClassLoader.class.getResourceAsStream(torrentFilename)) {
                BencodeStreamReader r = f.createBencodeStreamReader(s);

                while(r.hasNext()) {
                    r.next();
                    System.out.println(r.getEventType());
                    if (EventType.STRING == r.getEventType()) {
                        System.out.println(r.getString());
                    } else if (EventType.INT == r.getEventType()) {
                        System.out.println(r.getInt());
                    }
                }
            }
        }
    }
View Full Code Here

TOP

Related Classes of net.flexbencode.stream.BencodeStreamReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.