İnternet üzerinden hat üzerinden text/plain
dosyasından okumaya çalışıyorum. Şu anda var kodudur:InputFlash'u UTF-8 olarak okuma
URL url = new URL("http://kuehldesign.net/test.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
LinkedList<String> lines = new LinkedList();
String readLine;
while ((readLine = in.readLine()) != null) {
lines.add(readLine);
}
for (String line : lines) {
out.println("> " + line);
}
dosya, test.txt
, ben kodlama test etmek için kullanıyorum ¡Hélló!
içerir.
OutputStream
'u (out
) incelediğimde, onu > ¬°H√©ll√≥!
olarak görüyorum. OutputStream
ile ilgili bir sorun olduğuna inanmıyorum çünkü out.println("é");
'u sorunsuz yapabilirim.
Okuma için herhangi bir fikir InputStream
'u UTF-8 olarak mı oluşturur? Teşekkürler!
HTTP protokolü kodlamayı belirtir. Neden sizin için işleyen bir kitaplık API'sı kullanmıyorsunuz? Bunun gibi kodlamayı asla tahmin etmemelisiniz. Olumsuz olmak istemiyorum: harika gidiyorsunuz! Sadece daha kolay bir yol olup olmadığını merak ediyorum. – tchrist
Maalesef 'text/plain' dosyasına hizmet veren sunucuya erişemiyorum ve UTF-8 kodlaması kullanmıyor. İyi bir ağ kütüphanesinin farkında değildim; baska öneri? –
[docs] 'a (http://download.oracle.com/javase/6/docs/api/java/net/URL.html) bakarak, kodlamayı hiç belirtmeniz gerekmeyeceğini düşünmüyorum. Sana bayt akışı vermelerine şaşırdım! İçerik Kodlaması’nı kontrol edebileceğiniz, sonra da bir Açma [URLConnection] 'a (http://download.oracle.com/javase/6/docs/api/java/net/URLConnection.html) erişebilirsiniz. Doğru argüman ile InputStreamReader. Kaynağın hızlı bir şekilde kontrol edilmesi, sizin için uygun görünen herhangi bir şey ortaya çıkarmaz, bu oldukça rahatsızlık verici ve hataya eğilimli gözükür, bu yüzden muhtemelen bir şeyleri özlüyorum. – tchrist