2012-07-12 115 views
0

我开发了一些代码,可以访问url并从中读取流,但是当我试图获取流时,我得到了java.net。 SocketException。这里是堆栈跟踪:java.net.SocketException:从流中读取时重置连接

java.net.SocketException: Connection reset 
    at java.net.SocketInputStream.read(SocketInputStream.java:168) 
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:258) 
    at java.io.BufferedInputStream.read(BufferedInputStream.java:317) 
    at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687) 
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) 
    at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:652) 
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049) 
    at utils.AljazemArabicWordsGrabber.grab(AljazemArabicWordsGrabber.java:46) 
    at utils.TranslatorThread.run(TranslatorThread.java:39) 

,这里是导致异常的代码:

public String[] grab(EnglishWord englishWord) { 

    try { 
     aljazemURL = new URL(urlLink + englishWord.getLemma()); 
     connection = aljazemURL.openConnection(); 

     //connection.connect(); 
    // System.out.println("connection:" + connection); 
     //// stream = connection.getInputStream(); 


    // reader = new InputStreamReader(stream); 
     in = new BufferedReader(new InputStreamReader(connection.getInputStream())); // the exception occurs here.. 


     while ((decodedString = in.readLine()) != null) { 
      if (decodedString.contains("<div class=\"default_to_trans_ar\" style=\"display:block\">")) { 
       decodedString = decodedString.replace("<div class=\"default_to_trans_ar\" style=\"display:block\">", ""); 
       decodedString = decodedString.replace("</div>", ""); 
       slicedWords = decodedString.split(","); 
       for (String slice : slicedWords) { 
        System.out.println(slice); 
       } 
       // System.out.println(decodedString); 
      } 

     } 

     in.close(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return slicedWords; 
} 
+1

您可能要检查这一个:http://stackoverflow.com/questions/62929/java-net-socketexception-connection-reset – Sujay 2012-07-12 00:21:29

+0

我检查了这一个,之后我发布我的问题,它实际上并没有帮助 – Khafaga 2012-07-12 01:20:54

+1

'实际上没有帮助'?它列出了所有三种可能的原因。 – EJP 2012-07-12 02:11:39

回答

0

确定的GPS发出了一个线(用一个新行结束)?

如果没有,我会用阅读()多次让所有发送的数据(直到达到EOF)

+0

你在说什么GPS? – Khafaga 2012-09-30 16:26:20

相关问题