Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤和異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 和框架

Java 類參考

Java 有用資源

Java - URLConnection setReadTimeout(int timeout)



描述

Java URLConnection setReadTimeout(int timeout) 方法將讀取超時設定為指定的超時時間(以毫秒為單位)。非零值指定在建立與資源的連線時從輸入流讀取時的超時時間。如果超時在有資料可供讀取之前到期,則會引發 java.net.SocketTimeoutException。超時值為零被解釋為無限超時。

宣告

以下是 java.net.URLConnection.setReadTimeout(int timeout) 方法的宣告

public void setReadTimeout(int timeout)

引數

timeout − 一個 int,指定要使用的超時值(以毫秒為單位)

返回值

一個 int,指示讀取超時值(以毫秒為單位)

異常

IllegalArgumentException − 如果 timeout 引數為負。

示例 1

以下示例演示瞭如何為具有 https 協議的有效 url 使用 Java URLConnection setReadTimeout() 方法。在此示例中,我們正在建立 URL 類的例項。使用 url.openConnection() 方法,我們獲取 URLConnection 例項。使用 getReadTimeout(),我們獲取 URLConnection 例項的讀取超時時間並打印出來。然後使用 setReadTimeout() 方法,我們將讀取超時的值增加 1 小時並再次打印出來。

package com.tutorialspoint;

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.time.Instant;
import java.util.Date;

public class UrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("https://tutorialspoint.tw");
         URLConnection urlConnection = url.openConnection();
         int headerValue = urlConnection.getReadTimeout();
         System.out.println("Read Timeout: " + Date.from(Instant.ofEpochMilli(headerValue)));
         headerValue += 3600000;
         urlConnection.setReadTimeout(headerValue);
         System.out.println("Updated Read Timeout: " + Date.from(Instant.ofEpochMilli(headerValue)));
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

讓我們編譯並執行上述程式,這將產生以下結果:

輸出

Read Timeout: Thu Jan 01 05:30:00 IST 1970
Updated Read Timeout: Thu Jan 01 06:30:00 IST 1970

示例 2

以下示例演示瞭如何為具有 http 協議的有效 url 使用 Java URLConnection setReadTimeout() 方法。在此示例中,我們正在建立 URL 類的例項。使用 url.openConnection() 方法,我們獲取 URLConnection 例項。使用 getReadTimeout(),我們獲取 URLConnection 例項的讀取超時時間並打印出來。然後使用 setReadTimeout() 方法,我們將讀取超時的值增加 1 小時並再次打印出來。

package com.tutorialspoint;

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.time.Instant;
import java.util.Date;

public class UrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("https://tutorialspoint.tw");
         URLConnection urlConnection = url.openConnection();
         int headerValue = urlConnection.getReadTimeout();
         System.out.println("Read Timeout: " + Date.from(Instant.ofEpochMilli(headerValue)));
         headerValue += 3600000;
         urlConnection.setReadTimeout(headerValue);
         System.out.println("Updated Read Timeout: " + Date.from(Instant.ofEpochMilli(headerValue)));
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

讓我們編譯並執行上述程式,這將產生以下結果:

輸出

Read Timeout: Thu Jan 01 05:30:00 IST 1970
Updated Read Timeout: Thu Jan 01 06:30:00 IST 1970

示例 3

以下示例演示瞭如何為具有 http 協議的有效 url 使用 Java URLConnection setReadTimeout() 方法。在此示例中,我們正在建立 URL 類的例項。使用 url.openConnection() 方法,我們獲取 URLConnection 例項。使用 getReadTimeout(),我們獲取 URLConnection 例項的讀取超時時間並打印出來。然後使用 setReadTimeout() 方法,我們將讀取超時的值增加 1 小時並再次打印出來。

package com.tutorialspoint;

import java.io.IOException;
import java.net.URL;
import java.net.URLConnection;
import java.time.Instant;
import java.util.Date;

public class UrlConnectionDemo {
   public static void main(String [] args) {
      try {
         URL url = new URL("http://www.google.com");
         URLConnection urlConnection = url.openConnection();
         int headerValue = urlConnection.getReadTimeout();
         System.out.println("Read Timeout: " + Date.from(Instant.ofEpochMilli(headerValue)));
         headerValue += 3600000;
         urlConnection.setReadTimeout(headerValue);
         System.out.println("Updated Read Timeout: " + Date.from(Instant.ofEpochMilli(headerValue)));
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

讓我們編譯並執行上述程式,這將產生以下結果:

輸出

Read Timeout: Thu Jan 01 05:30:00 IST 1970
Updated Read Timeout: Thu Jan 01 06:30:00 IST 1970
java_urlconnection.htm
廣告