копировать поток через byte []

Hiho,

мне нужно скопировать входной поток. И после небольшого поиска в сети я попробовал это с помощью байтового массива. Мой код выглядит так ("is" - это входной поток):

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    while (is.read() != -1) {
        bos.write(is.read());
    }
    byte[] ba = bos.toByteArray(); 

    InputStream test = new ByteArrayInputStream(ba);
    InputStream test2 = new ByteArrayInputStream(ba);

И он работает .. почти

В обоих потоках программа копировала только каждый второй символ Я пробовал это с помощью байтового массива. Мой код выглядит так («is» - это входной поток): ByteArrayOutputStream ...

Hiho,

мне нужно скопировать входной поток. И после небольшого поиска в сети я попробовал это с помощью байтового массива. Мой код выглядит так ("is" - это входной поток):

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    while (is.read() != -1) {
        bos.write(is.read());
    }
    byte[] ba = bos.toByteArray(); 

    InputStream test = new ByteArrayInputStream(ba);
    InputStream test2 = new ByteArrayInputStream(ba);

И он работает .. почти

В обоих потоках программа копировала только каждый второй символ Я пробовал это с помощью байтового массива. Мой код выглядит так («is» - это входной поток): ByteArrayOutputStream ...

Hiho,

мне нужно скопировать входной поток. И после небольшого поиска в сети я попробовал это с помощью байтового массива. Мой код выглядит так ("is" - это входной поток):

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    while (is.read() != -1) {
        bos.write(is.read());
    }
    byte[] ba = bos.toByteArray(); 

    InputStream test = new ByteArrayInputStream(ba);
    InputStream test2 = new ByteArrayInputStream(ba);

И он работает .. почти

В обоих потоках программа копировала только каждый второй символ Таким образом, "DOR A =" 104 "/>" в потоке "is" становится: «O = 14 /» в других потоках

В чем проблема? я не могу понять, что происходит.

Надеюсь, кто-нибудь может дать мне решение :)

привет

5
задан Graslandpinguin 24 August 2010 в 07:22
поделиться