Java 如何将网络资源url转化为File文件

将网络资源url转化为File文件

将互联网上的http开头的url资源,保存到本地。

 private File getNetUrlHttp(String path){
       //对本地文件命名,path是http的完整路径,主要得到资源的名字
        String newUrl = path;
        newUrl = newUrl.split("[?]")[0];
        String[] bb = newUrl.split("/");
        //得到最后一个分隔符后的名字
        String fileName = bb[bb.length - 1];
        //保存到本地的路径
        String filePath="e:\\audio\\"+fileName;
        File file = null;

        URL urlfile;
        InputStream inputStream = null;
        OutputStream outputStream = null;
        try{
            //判断文件的父级目录是否存在,不存在则创建
            file = new File(filePath);
            if(!file.getParentFile().exists()){
                file.getParentFile().mkdirs();
            }
            try{
                //创建文件
                file.createNewFile();
            }catch (Exception e){
                e.printStackTrace();
            }
            //下载
            urlfile = new URL(newUrl);
            inputStream = urlfile.openStream();
            outputStream = new FileOutputStream(file);

            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead=inputStream.read(buffer,0,8192))!=-1) {
                outputStream.write(buffer, 0, bytesRead);
            }
            }catch (Exception e) {
                e.printStackTrace();
            }finally {
                try {
                    if (null != outputStream) {
                        outputStream.close();
                    }
                    if (null != inputStream) {
                        inputStream.close();
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
          return file;
        }

url转变为 MultipartFile对象

/**
 * url转变为 MultipartFile对象
 * @param url
 * @param fileName
 * @return
 * @throws Exception
 */
private static MultipartFile createFileItem(String url, String fileName) throws Exception{
    FileItem item = null;
    try {
        HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
        conn.setReadTimeout(30000);
        conn.setConnectTimeout(30000);
        //设置应用程序要从网络连接读取数据
        conn.setDoInput(true);
        conn.setRequestMethod("GET");
        if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
            InputStream is = conn.getInputStream();
            FileItemFactory factory = new DiskFileItemFactory(16, null);
            String textFieldName = "uploadfile";
            item = factory.createItem(textFieldName, ContentType.APPLICATION_OCTET_STREAM.toString(), false, fileName);
            OutputStream os = item.getOutputStream();
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = is.read(buffer, 0, 8192)) != -1) {
                os.write(buffer, 0, bytesRead);
            }
            os.close();
            is.close();
        }
    } catch (IOException e) {
        throw new RuntimeException("文件下载失败", e);
    }
    return new CommonsMultipartFile(item);
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • JAVA 根据Url把多文件打包成ZIP下载实例

    压缩文件代码工具类: public class UrlFilesToZip { private static final Logger logger = LoggerFactory.getLogger(UrlFilesToZip.class); //根据文件链接把文件下载下来并且转成字节码 public byte[] getImageFromURL(String urlPath) { byte[] data = null; InputStream is = null; HttpURLConnec

  • java通过url读取文件内容示例

    复制代码 代码如下: using System;  using System.Collections;  using System.ComponentModel;  using System.Data;  using System.Drawing;  using System.Web;  using System.Web.SessionState;  using System.Web.UI;  using System.Web.UI.WebControls;  using System.Web.

  • java通过url下载文件并输出的方法

    实例如下所示: controller: @RequestMapping(value = "/{loanid}/{atmtType}") public void doGet(@PathVariable("loanid") String loanid,@PathVariable("atmtType") String atmtType, HttpServletRequest req,HttpServletResponse response) { Map

  • Java 根据url下载网络资源

    URL:统一资源定位符 例如:https://www.baidu.com URL[统一资源定位符]:定位资源的,定位互联网上的某一个资源. DNS 域名解析:www.baidu.com[某一域名]指向 39.156.69.79[某一网站空间IP] URL 组成:协议://ip地址:端口/项目名/资源 package lesson04; import java.net.MalformedURLException; import java.net.URL; /** * URL:统一资源定位符 */

  • Java 如何将网络资源url转化为File文件

    将网络资源url转化为File文件 将互联网上的http开头的url资源,保存到本地. private File getNetUrlHttp(String path){ //对本地文件命名,path是http的完整路径,主要得到资源的名字 String newUrl = path; newUrl = newUrl.split("[?]")[0]; String[] bb = newUrl.split("/"); //得到最后一个分隔符后的名字 String file

  • Java网络编程之URL+URLconnection使用方法示例

    目录 HTTP GET和POST 从URLs到本地文件 在java.net包中包含两个有趣的类:URL类和URLConnection类.这两个类可以用来创建客户端到web服务器(HTTP服务器)的连接.下面是一个简单的代码例子: URL url = new URL("http://jenkov.com"); URLConnection urlConnection = url.openConnection(); InputStream input = urlConnection.getI

  • java常用工具类 IP、File文件工具类

    本文实例为大家分享了java常用工具类的具体实现代码,供大家参考,具体内容如下 IP工具类 package com.jarvis.base.util; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; /** * * * @Title: IpMacUtil.java * @Package com.jarvis.base.util * @Description

  • Java Io File文件操作基础教程

    目录 File 类概述 File对象文件操作 File静态方法 获取各种路径 路径整合 获取classpath路径 (常用) 获取Tomcat的bin目录 常用功能 创建目录 创建文件 判断文件或文件夹是否存在 判断是文件还是文件夹 判断是否是绝对路径 判断是否是隐藏文件 删除文件或者整个文件夹 File 类概述 Java IO API中的FIle类可以让你访问底层文件系统,通过File类,你可以做到以下几点: 检测文件是否存在 读取文件长度 重命名或移动文件 删除文件 检测某个路径是文件还是目

  • Java获取此次请求URL以及服务器根路径的方法

    本文介绍了Java获取此次请求URL以及获取服务器根路径的方法,并且进行举例说明,感兴趣的朋友可以学习借鉴下文的内容. 一. 获取此次请求的URL String requestUrl = request.getScheme() //当前链接使用的协议 +"://" + request.getServerName()//服务器地址 + ":" + request.getServerPort() //端口号 + request.getContextPath() //应用

  • 基于java file 文件操作operate file of java的应用

    java文件操作 复制代码 代码如下: package com.b510; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.InputStream; import java.io.PrintWriter; /**  *   * @author Hongten</br>  *   *    

  • Java实现字节数B转化为KB、MB、GB的方法示例【测试可用】

    本文实例讲述了Java实现字节数B转化为KB.MB.GB的方法.分享给大家供大家参考,具体如下: 在文件处理的系统中,很容易就能通过一些系统自带的方法取出其大小,问题是这个大小往往只是一个字节数B. 如果要把这个字节数转化为KB.MB.GB的最终呈现给用户,则涉及到整除与取余的算术运算. 方法如下: public static String getPrintSize(long size) { //如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义 if (size

  • JS将网址url转化为JSON格式的方法

    网上方法很多,各种奇技淫巧,这里贴上一种较为正常的思路. 主要利用split对获取的字符串不断进行分割,最后获得所需要的格式. 代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>将url转化为json数据</title> </head> <script> function

  • 如何基于java或js获取URL返回状态码

    这篇文章主要介绍了如何基于java或js获取URL返回状态码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 描述:使用java或者js访问某个网站,返回状态码 1.java实现 // 用getResponseCode可以获取URL返回状态码 String surl = ""; try { surl="你的url"; URL url = new URL(surl); URLConnection rulConnecti

  • 浅谈Java中File文件的创建以及读写

    1.创建一个文件 @Test public void test6() throws IOException { File file1 = new File("C:\\IDEA\\h1.txt"); if(!file1.exists()){//文件不存在 file1.createNewFile(); System.out.println("创建成功"); }else{//文件存在 file1.delete(); System.out.println("删除成

随机推荐