SORU
14 Aralık 2011, ÇARŞAMBA


UTF-8 byte[] String

Hadi BufferedInputStream bir bayt dizisine UTF-8 kodlanmış bir metin dosyasının bayt okumak için kullandım sanırım. Aşağıdaki rutin bir dize bayt dönüştürmek için kullanabilirsiniz biliyorum, ama orada sadece bayt yineleme ve her bir dönüştürme daha bunu yapmanın daha verimli/daha akıllı bir yolu var mı?

public String openFileToString(byte[] _bytes)
{
    String file_string = "";

    for(int i = 0; i < _bytes.length; i  )
    {
        file_string  = (char)_bytes[i];
    }

    return file_string;    
}

CEVAP
14 Aralık 2011, ÇARŞAMBA


String yapıcısı bak

String str = new String(bytes, StandardCharsets.UTF_8);

Ve eğer tembel hissediyorsanız, Apache Commons IO kütüphane bir dizeye İnputStream doğrudan dönüştürmek için kullanabilirsiniz:

String str = IOUtils.toString(inputStream, StandardCharsets.UTF_8);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011
  • Press Start

    Press Start

    4 HAZİRAN 2006
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009