powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / не срабатывает writer.flush(); или я чего то не понимаю??
12 сообщений из 12, страница 1 из 1
не срабатывает writer.flush(); или я чего то не понимаю??
    #33254734
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
упрощенный вариант выглядит так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
StringWriter writer =  new  StringWriter();
 while  (rset.next()) 
{	  
//Остально код	    	            
// Process XSL
result = processor.processXSL(xsl, xml); 
// Print the transformed document
result.print(writer);
out.print(writer.toString());
writer.flush();
}
Собственно вопрос, почему не очишаеться writer после flush(), а только накапливаеться??? Либо подскажите как можно его другим макаром очистить
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33254807
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flush не очищает буфер, а убеждается, что все данные, которые в него должны быть записаны, уже записались.

А почему бы тебе не писать сразу в out, не используя буфер?
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33254950
deepsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VintСобственно вопрос, почему не очишаеться writer после flush(), а только накапливаеться??? Либо подскажите как можно его другим макаром очистить

А почему он должен очищаться? Для StringWriter операция flush() смысла особого не имеет, назначение операции - сбросить содержимое буфера в девайс или поток, у StringWriter-а его нет.
Хочешь очистить - пересоздавай StringWriterю.
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33255321
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
deepsky
А почему он должен очищаться? Для StringWriter операция flush() смысла особого не имеет, назначение операции - сбросить содержимое буфера в девайс или поток, у StringWriter-а его нет.
Хочешь очистить - пересоздавай StringWriterю.
Большое спасибо, действительно пересоздание помогло

to Кувалдин Роман
я не пишу в выходной поток потому как работаю с jsp страницей, а там видимо принцип немного другой, нету времени нормально разобраться как писать в выходной поток с помошью методов jsp приходиться извращяться.
Всем большое спасибо за помошь, вопрос снят.
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33255429
VintБольшое спасибо, действительно пересоздание помогло
сool


я не пишу в выходной поток потому как работаю с jsp страницей, а там видимо принцип немного другой, нету времени нормально разобраться как писать в выходной поток с помошью методов jsp приходиться извращяться.
Всем большое спасибо за помошь, вопрос снят.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
//PrintWriter writer = new PrintWriter(new BufferedWriter(out)); 
//^^^ если очень хочется...
BufferedWriter writer =  new  BufferedWriter(out);
 while (...){
   ...
   result.print(writer);
   ...
}
writer.flush();
^^^ вот это правильный код.

а создавать в каждом цикле по новому стрингврйтеру, загонять туда пару килобайт текста, клонировать массив из этих килобайт в String, затем опять копировать его содержимое, но уже внутри метода out.print() ...

конечно, в сравнении с временем выполнения xsl преобразования это всё может оказаться ерундой, но всё равно не красиво 6)
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33255650
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы вот так не сделать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
StringWriter writer =  new  StringWriter();
 while  (rset.next()) {	  
   //Остально код	    	            
   // Process XSL
   result = processor.processXSL(xsl, xml); 
   // Print the transformed document
   result.print(writer);
}
out.print(writer.toString());
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33255681
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenА почему бы вот так не сделать?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
StringWriter writer =  new  StringWriter();
 while  (rset.next()) {	  
   //Остально код	    	            
   // Process XSL
   result = processor.processXSL(xsl, xml); 
   // Print the transformed document
   result.print(writer);
}
out.print(writer.toString());

так изначально и было но потом оказалось что информация собираеться с нескольких серверов а потом совмещяеться в одном DIV отрисовываетсья и следующий, притом каждый раз идет проверка на наличие ошибок и если недоступен сервер с xml документом или произошла еще какая нить ошибка то ниче не рисуем
to cолнечное испарение
спасибо и так попробую
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33255726
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автортак изначально и было но потом оказалось что информация собираеться с нескольких серверов а потом совмещяеться в одном DIV отрисовываетсья и следующий, притом каждый раз идет проверка на наличие ошибок и если недоступен сервер с xml документом или произошла еще какая нить ошибка то ниче не рисуем

Если я правильно понял, то может так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
StringWriter writer =  new  StringWriter();
 while  (rset.next()) {	  
    try {
      //Остально код	    	            
      // Process XSL
      result = processor.processXSL(xsl, xml); 
      // Print the transformed document
      result.print(writer);
   } catch (Exception e){
      // если случилась ошибка, переходим куда нибудь и ниче не рисуем
      response.sendRedirect("кудаНибудь");
   }
}
out.print(writer.toString());
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33256357
Vint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Именно так и было, но у меня на страничке формируеться не только список дивов но и табличка куда эти дивы вложенны и у каждого дива есть идентификатор по клику на див происходит переход на другую страницу в которую передаеться информация, так вот все что находиться не в диве описываеться на странице и инфа добавляетьяс из запроса как то идентификатор дива, откуда брать инфу которую надо кидать в див и тд. можно конечно все это было написать в writer а потом вывести, но на данный момент уже ничего переписывать как всегда некогда, и гонят вперед, так что всем большое спасибо за идеи и подсказки.
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33256391
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VintИменно так и было, но у меня на страничке формируеться не только список дивов но и табличка куда эти дивы вложенны и у каждого дива есть идентификатор по клику на див происходит переход на другую страницу в которую передаеться информация, так вот все что находиться не в диве описываеться на странице и инфа добавляетьяс из запроса как то идентификатор дива, откуда брать инфу которую надо кидать в див и тд. можно конечно все это было написать в writer а потом вывести, но на данный момент уже ничего переписывать как всегда некогда, и гонят вперед, так что всем большое спасибо за идеи и подсказки.
якаквсегданиченепоняликакоерешениетебеподошлотоженепонялноесливсеработаеттоярадудачи
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33257176
NotGonnaGetUs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessen
якаквсегданиченепоняликакоерешениетебеподошлотоженепонялноесливсеработаеттоярадудачи

+ %)
...
Рейтинг: 0 / 0
не срабатывает writer.flush(); или я чего то не понимаю??
    #33259323
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, вместо DIV-ов правильнее struts tiles использовать?
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / не срабатывает writer.flush(); или я чего то не понимаю??
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]