我要从已知网络地址下载资源到本地,现在可以下下来,但打开是乱码,资源地址为http://www.9251.com/DownLoad/File/Book/xh/DownloadFile/qzlz20091116.txt,不知如何编码啊,我的下载方法如下:
public void downloadFile(String url, String filePath) {            URL url2 = null;            try {
            
             url = URLEncoder.encode(url);
            
                    url2 = new URL(url);                    HttpURLConnection con = (HttpURLConnection) url2.openConnection();                    InputStream in = con.getInputStream();                    File fileOut = new File(filePath);                    FileOutputStream out = new FileOutputStream(fileOut);                    byte[] bytes = new byte[1024];                    int c;                    while ((c = in.read(bytes)) != -1) {
                            out.write(bytes, 0, c);                    }                    in.close();                    out.close();            } catch (Exception e) {                    e.printStackTrace();            }    }
另外我想问下,这个方法是只能下载文本文件吗,如果是jar包什么的,用这个方法能下载吗

解决方案 »

  1.   

          try {
                   URL  url2 =  new URL("http://www.9251.com/DownLoad/File/Book/xh/DownloadFile/qzlz20091116.txt");
                    HttpURLConnection con = (HttpURLConnection) url2.openConnection();                InputStream in = con.getInputStream();                File fileOut = new File("D:/aa.txt");                FileOutputStream out = new FileOutputStream(fileOut);                byte[] bytes = new byte[1024];                int c;                while ((c = in.read(bytes)) != -1) {
                            for(int i=0;i<c;i++){
                             out.write(bytes[i]);
                            }                }                in.close();                out.close();        } catch (Exception e) {                e.printStackTrace();        } }
    windows下测试不是乱码
      

  2.   

    任何格式都能用此方法下载。
    此TXT为ANSI的编码,手机上乱码可能是手机不支持此格式。
      

  3.   

    GB2312 编码。楼主可能需要将其转换为 UTF-8 格式先。例子:
    http://blog.csdn.net/YidingHe/archive/2009/11/23/4854262.aspx