The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите!!! java.io.IOException: Stream closed"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите!!! java.io.IOException: Stream closed"
Сообщение от Durward emailИскать по авторуВ закладки(??) on 14-Окт-04, 11:57  (MSK)
Привет всем!
Использую следующий код:
try
            {
                DataScript = new URL( url );
                DataScriptConnection = DataScript.openConnection( );
                DataScriptConnection.setDoOutput( true );
                oScriptStream = new PrintStream( DataScriptConnection
                        .getOutputStream( ) );
                oScriptStream.close( );
                iScriptStream = new BufferedReader(
                        new InputStreamReader( DataScriptConnection
                                .getInputStream( ) , this.DBCharset ) );
                String strPiece = iScriptStream.readLine( );
                while ( strPiece != null )
                {
                    strData.add( strPiece );
                    strPiece = iScriptStream.readLine( );
                }
                iScriptStream.close( );
            } catch ( IOException e )
            {
                System.out.println( "Problems with url: '" + url + "' - "
                        + e.toString( ) );
            }
И периодически вылазит исключение "java.io.IOException: Stream closed",   из-за которого прога просто не может жить...
Может кто знает причину, или код криво написан???
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите!!! java.io.IOException: Stream closed"
Сообщение от dev emailИскать по авторуВ закладки(??) on 14-Окт-04, 14:32  (MSK)
Сначала ответ на вопрос: все правильно (в общем случае) - что прога может еще сделать, если удаленный сервер оборвал передачу?

И несколько замечаний:
1. Зря ты в этом форуме пытаешься получить помощь по Яве, поищи лучше специализированные, например http://www.rsdn.ru/
2. В catch используй e.printStackTrace(), тогда точнее увидишь, в чем ошибка.
3. По коду:

>try
>{
>    DataScript = new URL( url );
имена переменных в Яве принято писать с маленькой буквы, чтобы от классов отличать

>    DataScriptConnection = DataScript.openConnection( );

>    DataScriptConnection.setDoOutput( true );
>    oScriptStream = new PrintStream( DataScriptConnection.getOutputStream( ) );
>    oScriptStream.close( );
А это тебе зачем понадобилось? Ты же его сразу закрываешь.

>    iScriptStream = new BufferedReader(
> new InputStreamReader( DataScriptConnection.getInputStream( ), this.DBCharset ) );
Ты уверен, что метод connect() здесь уже вызван?

>    String strPiece = iScriptStream.readLine( );
>    while ( strPiece != null )
>    {
>        strData.add( strPiece );
>        strPiece = iScriptStream.readLine();
>    }

Вот так красивей и проще, хотя делает тоже самое:

String strPiece;
while((strPiece = iScriptStream.readLine()) != null) {
    strData.add(strPiece);
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру