博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从指定服务器路径下载文件
阅读量:4180 次
发布时间:2019-05-26

本文共 2602 字,大约阅读时间需要 8 分钟。

package com.xiaobu.util;import java.io.*;import java.net.HttpURLConnection;import java.net.URL;/** * @author xiaobu * @version JDK1.8.0_171 * @date on  2019/4/6 22:19 * @description V1.0 */public class DownloadFolder {    public static void main(String[] args) {        //http://www.cicicaseshop.com/images/upload/Image/cici2250/1.jpg        String url = "http://www.cicicaseshop.com/images/upload/Image/cici2250/1.jpg";        String fileName = url.substring(url.lastIndexOf("/"));        System.out.println("fileName---->" + fileName);        String filePath = "d:";        File file = getFile(url, filePath + fileName, "GET");        System.out.println(file);    }    public static File getFile(String url, String filePath, String method) {        //创建不同的文件夹目录        File file = new File(filePath);        //判断文件夹是否存在        if (!file.exists()) {            //如果文件夹不存在,则创建新的的文件夹            //file.mkdirs();            //如果文件不存在,则创建新的的文件            try {                file.createNewFile();            } catch (IOException e) {                e.printStackTrace();            }        }        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 += "/";            }            System.out.println(filePath);            //写入到文件(注意文件保存路径的后面一定要加上文件的名称)            //fileOut = new FileOutputStream(filePath+"db.xml");            //写入到文件(已经加了文件名)            fileOut = new FileOutputStream(filePath);            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;    }}

 

转载地址:http://bbgai.baihongyu.com/

你可能感兴趣的文章
199. Binary Tree Right Side View(Tree)
查看>>
230. Kth Smallest Element in a BST(Tree)
查看>>
求字符串的最长回文串-----Manacher's Algorithm 马拉车算法
查看>>
回溯法常用的解题模板和常见题型
查看>>
深入分析Java I/O 的工作机制
查看>>
动态规划的套路----左神
查看>>
KMP算法简解
查看>>
左神算法课进阶版总结
查看>>
左神算法基础班总结
查看>>
Linux性能优化
查看>>
进程间的通信---UNIX高级环境编程
查看>>
基于SSH开发的城市公交管理系统 JAVA MySQL
查看>>
基于SSH开发的勤工助学管理系统 JAVA MySQL
查看>>
基于SSH开发的宠物销售商城系统 JAVA MySQL
查看>>
基于springboot的宠物领养管理系统 java
查看>>
JAVA 洗衣房管理系统 宿舍洗衣机管理系统
查看>>
基于SSM的街道办安全管理系统 JAVA
查看>>
基于SSM的论文选题管理系统 JAVA
查看>>
生成器模式
查看>>
工厂方法模式
查看>>