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ü Charset
metin 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 Charset
isteğ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 Charset
beni karakterlerin birçok farklı türde metin dosyalarını okumak sağlayacak ?
Teşekkürler.
ISO-8859-1
ve iyi çalışıyor. Bence Avrupalı karakterler için, ki bu iyi. Yine de nedenUTF-16
işe yaramadığını hala bilmiyorum .