Java'da bir dizinin metin tabanlı dosyalarını okuyan basit bir wordcount programı oluşturuyorum.
Ancak, şu hatayı almaya devam ediyorum:
java.nio.charset.MalformedInputException: Input length = 1
bu kod satırından:
BufferedReader reader = Files.newBufferedReader(file,Charset.forName("UTF-8"));
Muhtemelen bunu anladığımı biliyorum çünkü Charsetmetin dosyalarındaki bazı karakterleri içermeyen, bazıları diğer dillerin karakterlerini içeriyordu. Ama bu karakterleri dahil etmek istiyorum.
Daha sonra JavaDocs'ta bunun Charsetisteğe bağlı olduğunu ve yalnızca dosyaların daha verimli okunması için kullanıldığını öğrendim , bu yüzden kodu şu şekilde değiştirdim:
BufferedReader reader = Files.newBufferedReader(file);
Ancak bazı dosyalar hala MalformedInputException. Neden bilmiyorum
Her şey dahil olup olmadığını merak ediyorum Charsetbeni karakterlerin birçok farklı türde metin dosyalarını okumak sağlayacak ?
Teşekkürler.
ISO-8859-1ve iyi çalışıyor. Bence Avrupalı karakterler için, ki bu iyi. Yine de nedenUTF-16işe yaramadığını hala bilmiyorum .