powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Преобразование OutputStream в byte
6 сообщений из 6, страница 1 из 1
Преобразование OutputStream в byte
    #38824874
Фотография Хороший человек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу вот такой код. Не могу понять почему OutputStream возвращается пустой. Помогите пожалуйста разобраться.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
public class HowToXSLT {
    
public static void main(String[] args) {
 
  try {
  
        byte[] source = ..мой xml;
        byte[] st = мой style;
         byte out[] ;
       
     
        InputStream xml = new BufferedInputStream(new ByteArrayInputStream(source)); 
      
        InputStream style = new BufferedInputStream(new ByteArrayInputStream(st)); 
 
        OutputStream bos  =  new BufferedOutputStream(new ByteArrayOutputStream());
          
     
 
    TransformerFactory tFactory = TransformerFactory.newInstance();
 
    Transformer transformer =
      tFactory.newTransformer
         (new javax.xml.transform.stream.StreamSource
                    (xml));
      
    transformer.transform
      (new javax.xml.transform.stream.StreamSource
             (style),
       new javax.xml.transform.stream.StreamResult
 
      (bos));
      
 
      bos.write(out); 
      
    }
  
  catch (Exception e) {
    e.printStackTrace( );
    }
  
  }
}
...
Рейтинг: 0 / 0
Преобразование OutputStream в byte
    #38824881
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хороший человекНе могу понять почему OutputStream возвращается пустой.
Не могу понять: какой OutputStream, куда возвращается, где он пустой, как Вы это определили и почему он должен быть другим.
...
Рейтинг: 0 / 0
Преобразование OutputStream в byte
    #38824898
Фотография Хороший человек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и я не могу понять:)
...
Рейтинг: 0 / 0
Преобразование OutputStream в byte
    #38824905
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хороший человекВот и я не могу понять:)

Вы теряете ссылку на ByteArrayOutputStream и не сможете получить из него байты.

Что тут вообще проиходит понять сложно.

Почему вы сначала XML пишете в bos, а потом какую-то ещё фигню сверху?
...
Рейтинг: 0 / 0
Преобразование OutputStream в byte
    #38824920
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO N1:
Начнем, догадываться с конца.
Наверное, вы ожидаете что-то в переменной out, я прав? Но почему там должно что-то быть?
Код: sql
1.
bos.write(out); 


IMHO Записывает пустую переменную out в поток. Сама переменная out от этого меняться не должна и не меняется. Как была пустая, так и осталась.

IMHO N2:
Начнем догадываться с начала.
Код: sql
1.
        OutputStream bos  =  new BufferedOutputStream(new ByteArrayOutputStream());


Лично мне этот код вообще не понятен, я бы сделал по другому:
Код: sql
1.
2.
        ByteArrayOutputStream myByteOutputStream = new ByteArrayOutputStream();
        OutputStream bos  =  new BufferedOutputStream( myByteOutputStream );


после чего, в конце работы, получил бы буфер с помощью вызова
Код: sql
1.
myByteOutputStream.toByteArray()



В общем, см. JavaDoc.

IMHO & AFAIK
...
Рейтинг: 0 / 0
Преобразование OutputStream в byte
    #38824927
Фотография Хороший человек
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev, спасибо огромное. То что нужно. Все получилось:)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Преобразование OutputStream в byte
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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