0

Timeout を InputStream に設定する方法はありますか?

私の現在のコードは次のようになります。

public class DownloadFile implements Runnable {
private EventHandler eh;
private String source;
private String destination;

public void run(){
    try {
        Log.d("Download", "Download... " + source);
        URL url = new URL(source);

        URLConnection connection = url.openConnection();
        connection.connect();

        int fileLength = connection.getContentLength();

        InputStream input = new BufferedInputStream(url.openStream());
        OutputStream output = new FileOutputStream(destination + "t");
4

2 に答える 2

3

私はあなたの要件のためにあなたが使用できると思います

HttpURLConnection.setReadTimeout()

これらのリンクが役に立ちます。

  1. タイムアウトでJava InputStreamから読み取ることは可能ですか?
  2. クラス HttpURLConnection
  3. InputStream の read() 関数にタイムアウトを設定できますか?
于 2012-10-16T12:21:39.940 に答える
0

AsyncTask または別のスレッドを開始し、タイムアウト時間の間スリープさせてから、トランザクションの準備ができているかどうかを確認できます。または、さらに良いことに、ハンドラーにメッセージを postDelayed してから、タスクの準備ができているかどうかを確認することもできます。タイマーも使用できますが、ハンドラー ソリューションが最も洗練されていると思います。

これを見てください:http://developer.android.com/reference/android/os/Handler.html

于 2012-10-16T12:20:27.600 に答える