2011-07-14 37 views

答えて

8

あなたは試すことができます:これはutf-8を前提としてい

URL url = new URL(myfile); 
InputStream is = url.openStream(); 
byte[] buf = new byte[1024]; 
int read = -1; 
StringBuilder bld = new StringBuilder(); 
while ((read = is.read(buf, 0, buf.length) != -1) { 
    bld.append(new String(buf, 0, read, "utf-8")); 
} 

String s = bld.toString(); 
  • 、元ホストは、エンコーディングを指定しない場合、私は.openConnection()を使用してストリームを読み込む前に、「コンテンツタイプ」(およびエンコーディングを)見つけ出すでしょう。
  • パフォーマンスのためにInputStreamBufferedInputStreamにラップすることができます。
  • おそらくtry-finallyあなたはCommons HTTP Clientを使用することができInputStream
+1

これは 'InputStream'です。彼は 'String'を望んでいると言いました。例を完了;) – Bozho

+1

それは本当です。私は変更:) –

+0

ありがとうございました.... – theshadowmonkey

2

を閉じたいです。 this exampleを参照してください。

+1

それは単純なタスクのために巨大です.. – Bozho

+2

あなたがあなたがファイルを取得するために認証とヘッダー操作が必要であることを発見するまで待ってください! ;) – Vlad

+1

1つずつ。あなたはその件についてあまり知らない人にすべてを投げることはできません – Bozho

4

common-io

URL url = new URL("https://etc.."); 
InputStream input = url.openStream(); 
String str = IOUtils.toString(input, "utf-8"); //encoding is important 
input.close(); // this is simplified - resource handling includes try//finally 

それともthe official tutorialの例を参照してください。

+0

ありがとうございました。 – theshadowmonkey

関連する問題