text/plainインターネット経由でファイルを1行ずつ読み込もうとしています。私が今持っているコードは:
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);
}
ファイルにtest.txtは¡Hélló!、エンコードをテストするために使用するが含まれています。
私が確認するとOutputStream(out)を、私はそれを参照してください> ¬°H√©ll√≥!。私は問題なくOutputStream行うout.println("é");ことができるので、これは問題ではないと思います。
フォームInputStreamをUTF-8として読み取るためのアイデアはありますか?ありがとう!
1
HTTPプロトコルはエンコーディングを指定します。それを処理するライブラリAPIを使用しないのはなぜですか?このようなエンコーディングを推測する必要はありません。私は否定的であるという意味ではありません。あなたは素晴らしいことをしています!もっと簡単な方法はないのかと思います。
—
tchrist
text/plain残念ながら、ファイルを提供しているサーバーにアクセスできず、UTF-8エンコーディングを使用していません。良いネットワークライブラリについては知りませんでした。助言がありますか?
docsを見ると、エンコーディングを指定する必要はまったくないと思います。彼らがあなたにバイトストリームを与えることに驚いています!基礎となるURLConnectionにアクセスできます。そこからContent-Encodingを確認し、正しい引数でInputStreamReaderを開くことができます。ソースを簡単にチェックしても、あなたのためにそれをしているように見えるものは何も見つかりません。
—
tchrist