2010-05-29 69 views

回答

2

这应该做的伎俩:

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

     ... 

     try { 
      URL fileUrl = new URL("someurl); 
      BufferedInputStream in = new BufferedInputStream(fileUrl.openStream()); 
      FileOutputStream fos = new FileOutputStream("/home/user/download/file"); 
      BufferedOutputStream bout = new BufferedOutputStream(fos, BUFFER_SIZE); 
      byte[] data = new byte[1024]; 
      int x; 

      while ((x = in.read(data, 0, 1024)) >= 0) { 
       bout.write(data, 0, x); 
      } 

      bout.close(); 
      in.close(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
+0

你能否给我提供我必须使用的软件包。即时通讯与包裹是什么混淆。请发帖 – Nubkadiya 2010-05-29 12:44:45

+0

完成。包是java.io和java.net – 2010-05-29 13:58:40

+0

我试过这个,但仍然无法让它工作。你能检查一下吗?当我尝试它时。对于所有的步骤,它要求尝试和捕捉块。请检查 – Nubkadiya 2010-05-31 04:44:05

0

阿帕奇百科全书真的很容易,用静态FileUtils.copyURLToFile方法:

import org.apache.commons.io.FileUtils; 

... 

FileUtils.copyURLToFile(url, file); 

这是Apache的百科全书IO包的一部分,可以在这里下载:http://commons.apache.org/io/download_io.cgi

+0

这可以只复制文件礼仪。但是我的要求有点不同。我想从网络服务器上下载并显示一个图像,并想在我的Java应用程序 – Nubkadiya 2010-05-31 04:46:40

+0

@Nubkadiya:true中显示它,但是您可以将图像下载到临时文件,然后在应用程序中加载该文件。这也有助于缓存 - 试图在应用程序中再次查看文件将使用已下载的本地文件。 – Oak 2010-05-31 07:22:50

+0

您能否为我提供完整的代码。它有很大的帮助。但我确实需要该代码才能从该文件获取数据。 – Nubkadiya 2010-05-31 12:57:56

相关问题