1

我正在尝试使用以下代码使用简单的 java 类下载文件:

public class Download {  

     public static void main(String[] args) throws Exception {  

        Download d = new Download();  
        d.URLSetUp("http://www.sheldonbrown.com/web_sample1.html");  
     }  

    public String URLSetUp(String urlProp) throws Exception {  

        StringBuffer tempData = new StringBuffer();  
        String contentXML = "";  
        String line = "";  
        URL url1;  
         try {  
            url1 = new URL(urlProp);  

            URLConnection conn = url1.openConnection();  

            conn.setDoOutput(true);  
             OutputStreamWriter wr = new OutputStreamWriter(conn
                .getOutputStream());  

             BufferedReader rd = new BufferedReader(new InputStreamReader(conn
                .getInputStream()));  
              while ((line = rd.readLine()) != null) {  
                 tempData.append(line);  
             }  
             contentXML = tempData.toString();  

            wr.close();  
            rd.close();  

         } catch (MalformedURLException e) {  

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

             e.printStackTrace();  
        }  
         if (contentXML != null) {  
             return contentXML;  
        } else {  

             System.out.println("Error");  
         }  
         return null;  

     }  
}  

它给了我以下错误:

#  
# An unexpected error has been detected by Java Runtime Environment:  
#  
#  Internal Error (434C41535326494C453041525345520E4350500B65), pid=5156, tid=4296  
#  
# Java VM: Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode)  
# An error report file with more information is saved as hs_err_pid5156.log  
#  
# If you would like to submit a bug report, please visit:  
#   http://java.sun.com/webapps/bugreport/crash.jsp  
#

如果你们有任何灵魂,请告诉我。

谢谢斯内哈
_

4

2 回答 2

2

正如您可能已经确定的那样,那是您的虚拟机崩溃了。您在 Java 中通常所做的任何事情都不会触发这种情况,因此我将从升级您的 JVM 开始。1.6.0_ 03已经很老了。

此页面详细介绍了 Java 7 下载以及早期的 Java 6 JDK。正如您所看到的,它们已达到次要版本 31,因此您相对已过时。

如果您想进一步调试,请注意上述错误报告文件并查看此 SO answer

于 2012-04-11T11:05:39.233 回答
1

源文件是正确的,我试了一下,它可以工作。

只有一个错误,但它与您的问题无关。你正在使用readLine()方法。当您获得该行并将其附加到tempData您丢失行终止字符时,请记住修复此问题,或者您更改文件。

于 2012-04-11T11:12:48.153 回答