java如何从服务器下载文件并保存到本地

这篇文章主要为大家展示了“java如何从服务器下载文件并保存到本地”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java如何从服务器下载文件并保存到本地”这篇文章吧。

创新互联是专业的兴隆网站建设公司,兴隆接单;提供网站设计制作、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行兴隆网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

1.基础知识

当我们想要下载网站上的某个资源时,我们会获取一个url,它是服务器定位资源的一个描述,下载的过程有如下几步:

(1)客户端发起一个url请求,获取连接对象。

(2)服务器解析url,并且将指定的资源返回一个输入流给客户。

(3)建立存储的目录以及保存的文件名。

(4)输出了写数据。

(5)关闭输入流和输出流。

2.实现代码的方法

/** 
 * @功能 下载临时素材接口 
 * @param filePath 文件将要保存的目录 
 * @param method 请求方法,包括POST和GET 
 * @param url 请求的路径 
 * @return 
 */ 
 
public static File saveUrlAs(String url,String filePath,String method){ 
   //System.out.println("fileName---->"+filePath); 
   //创建不同的文件夹目录 
   File file=new File(filePath); 
   //判断文件夹是否存在 
   if (!file.exists()) 
  { 
    //如果文件夹不存在,则创建新的的文件夹 
     file.mkdirs(); 
  } 
   FileOutputStream fileOut = null; 
   HttpURLConnection conn = null; 
   InputStream inputStream = null; 
   try 
  { 
     // 建立链接 
     URL httpUrl=new URL(url); 
     conn=(HttpURLConnection) httpUrl.openConnection(); 
     //以Post方式提交表单,默认get方式 
     conn.setRequestMethod(method); 
     conn.setDoInput(true);  
     conn.setDoOutput(true); 
     // post方式不能使用缓存  
     conn.setUseCaches(false); 
     //连接指定的资源  
     conn.connect(); 
     //获取网络输入流 
     inputStream=conn.getInputStream(); 
     BufferedInputStream bis = new BufferedInputStream(inputStream); 
     //判断文件的保存路径后面是否以/结尾 
     if (!filePath.endsWith("/")) { 
 
       filePath += "/"; 
 
       } 
     //写入到文件(注意文件保存路径的后面一定要加上文件的名称) 
     fileOut = new FileOutputStream(filePath+"123.png"); 
     BufferedOutputStream bos = new BufferedOutputStream(fileOut); 
      
     byte[] buf = new byte[4096]; 
     int length = bis.read(buf); 
     //保存文件 
     while(length != -1) 
     { 
       bos.write(buf, 0, length); 
       length = bis.read(buf); 
     } 
     bos.close(); 
     bis.close(); 
     conn.disconnect(); 
  } catch (Exception e) 
  { 
     e.printStackTrace(); 
     System.out.println("抛出异常!!"); 
  } 
    
   return file;     
 }

3.代码测试类(主函数)

/** 
   * @param args 
   */ 
  public static void main(String[] args) 
  { 
    String photoUrl = "/upload/otherpic69/104449.png";                   
    String fileName = photoUrl.substring(photoUrl.lastIndexOf("/"));  
    //System.out.println("fileName---->"+fileName); 
    String filePath = "d:";  
    File file = saveUrlAs(photoUrl, filePath + fileName,"GET");  
    System.out.println("Run ok!/n
Get URL file " + file);       }

以上是“java如何从服务器下载文件并保存到本地”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


新闻名称:java如何从服务器下载文件并保存到本地
路径分享:http://hbruida.cn/article/pdispg.html