SORU
12 Aralık 2008, Cuma


Varsayılan ayar, karakter kodlaması Java?

Nasıl düzgün varsayılan karakter JVM (1.5.tarafından kullanılan kodlama ayarlarım x) Program aracılığıyla?

-Dfile.encoding=whatever eski Jvm'ler için gitmek için yol olduğunu okudum... ben alışkanlık girmek sebep için öyle bir lüksüm yok.

Denedim:

System.setProperty("file.encoding", "UTF-8");

Ve özelliği alır, ama son getBytes çağrı aşağıda UTF8 kullanmanız neden görünmüyor:

    System.setProperty("file.encoding", "UTF-8");

    byte inbytes[] = new byte[1024];

    FileInputStream fis = new FileInputStream("response.txt");
    fis.read(inbytes);
    FileOutputStream fos = new FileOutputStream("response-2.txt");
    String in = new String(inbytes, "UTF8");
    fos.write(in.getBytes());

CEVAP
12 Aralık 2008, Cuma


Ne yazık ki, file.encoding özellik olmalı belirtildiği gibi JVM başlar; zaman ana yöntemdir girdi, kullanılan karakter kodlamasını tarafından String.getBytes() ve varsayılan kurucular InputStreamReader OutputStreamWriter oldu kalıcı olarak önbelleğe.

Böyle özel bir durumda Edward Grech points out, olarak, ortam değişkeni 10**olabilirbu özelliği belirtmek için kullanılır, ama normalde böyle bitti:

java -Dfile.encoding=UTF-8 … com.x.Main

Charset.defaultCharset() file.encoding özellik değişiklikleri yansıtır, ama varsayılan karakter kodlamasını belirlemek için gereken temel Java kütüphanelerinde kod çoğu bu mekanizma kullanmayın.

Kodlama veya kod çözme, file.encoding özelliği sorgu veya 15 ** geçerli varsayılan kodlama bulmak ve uygun yöntem veya oluşturucu aşırı yük belirtmek için kullanılır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Android Police

    Android Poli

    21 NİSAN 2010
  • Metheud

    Metheud

    9 EYLÜL 2006
  • thewinekone

    thewinekone

    17 Aralık 2005