2015-10-06 59 views
-1

我嘗試從URL下載文件並將其保存在本地的java中。這個URL從我的瀏覽器工作,但在JAVA中,我得到了這些模糊:java.net.SocketException:連接重置。java.net.SocketException:使用SocketInputStream重置連接

java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:196) 
    at java.net.SocketInputStream.read(SocketInputStream.java:122) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) 
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:275) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334) 
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687) 
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633) 
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:658) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323) 
    at java.net.URL.openStream(URL.java:1037) 

我試圖與不同的實現:

阿帕奇普通IO

Files.copy(myUrl.openStream(), file, StandardCopyOption.REPLACE_EXISTING); 

澤西2

WebTarget target =ClientBuilder.newClient().target(myUri); 
Response response = target.path(ressourcePath).request().get(); 

的Java IO

URL link = new URL(myUri); 
InputStream in = new BufferedInputStream(link.openStream()); 

所有這些例子拋出一個java.net.SocketException異常:連接復位異常。

我無法控制發送文件的服務器。

+0

您可以添加您使用的URI嗎? – Reinard

+1

您的瀏覽器是否可以通過代理連接? –

+0

可能重複[java.net.SocketException:連接重置](http://stackoverflow.com/questions/62929/java-net-socketexception-connection-reset) – Raedwald

回答

0
import java.net.*; 
import java.io.*; 

public class URLReader { 
    public static void main(String[] args) throws Exception { 
    URL oracle = new URL("http://www.oracle.com/"); 
    BufferedReader in = new BufferedReader(new InputStreamReader(oracle.openStream())); 
    String inputLine; 
    while ((inputLine = in.readLine()) != null) 
     System.out.println(inputLine); 
    in.close(); 
    } 
} 
相關問題