Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Как правильно файл поместить в поток?


Автор: Proger10 21.3.2009, 23:43
Вот таким образом я пытаюсь закинуть в поток бинарный файл:

Код
try {

    String line;
    GZIPOutputStream zip = new GZIPOutputStream( socket.getOutputStream() );
    BufferedReader bis = new BufferedReader( new FileReader( fileNameStr ) );

    while ( true ) {

        try {

            line = bis.readLine();

            if ( line == null )
                break;

            line = line + "\n";
            zip.write( line.getBytes(), 0, line.length() );

        } catch ( Exception e ) {
            break;
        }

    }

    zip.finish();
    zip.close();

} catch ( IOException e ) {
}

сравниваю с оригиналом. Одно лишь отличие - в конце файла (в потоке), естественно, присутствует символ "\n", из-за которого файл корявый становится.
Не подскажите ли, как не допустить добавления последнего "\n"?

Автор: Kangaroo 22.3.2009, 01:21
Код

line = "\n"+line;

Только первую строку запиши просто как line.

Автор: Proger10 22.3.2009, 02:01
Действительно, что-то не подумал smile

Но всё же не помогло это мне в решении моей траблы:
http://forum.vingrad.ru/forum/topic-252263/anchor-entry1819135/0.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)