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

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • Bogdan Gabriel

    Bogdan Gabri

    5 Aralık 2006
  • WK

    WK

    9 Ocak 2006