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


Автор: Alone 15.9.2004, 16:20
Доброго дня всем...
Вот, решил провести некоторую оптимизацию своего кода, в частности переход на использование StringBuffer.
В связи с этим наступил на грабли...
Был вот такой кусок кода
Код
public String ReadMsg(int len) throws Exception{
       String buffer=new String();
       byte buf[]=new byte[len];
       
       try {
           if ( byteReader.read(buf,0,len) == -1)
               mainObj.dwnPanel.onExitBtn();
           buffer=new String(buf, encoding);
       }catch (UnsupportedEncodingException e){
           System.out.println("EXCEPTION: "+e.getMessage() );
       }
       return buffer;
   }


Как при таких раскладах мне впихнуть массив byte buf[] в StringBuffer ?
смотрел на методы в StringBuffer - не нашел ничче интересного... sad.gif где я не прав?

Автор: Domestic Cat 15.9.2004, 16:32
Вроде так:
Код

       byte[] b = new byte[] {65, 66, 67, 68 ,69 ,70};
       StringBuffer sb = new StringBuffer();
       for (int i = 0; i < b.length; i++)
                       sb.append((char) b[i]);
       System.out.println(sb);

Автор: Разгильдяй 15.9.2004, 16:33
Добавить параметры....

Код

buffer = new String(data, 0, len, encoding);


Добавлено @ 16:36
т.е. по твоему коду biggrin.gif

Код

buffer = new String(buf, 0, len, encoding);

Автор: Alone 15.9.2004, 16:39
Да, но я хотел уйти от String'a... sad.gif Или совсем от него отказаться не выйдет?

Автор: Domestic Cat 15.9.2004, 16:47
А чем тебя append нe устраивает? smile.gif

Автор: Alone 15.9.2004, 17:02
дык, аппенд не знает byte[]

Автор: Domestic Cat 15.9.2004, 17:10
Дык я ж пример привел - обычный каст.

Автор: Alone 15.9.2004, 17:47
Сорри... не доглядел...

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