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

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • Besnik Ibrahimi

    Besnik Ibrah

    27 Mart 2010
  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006