zoukankan      html  css  js  c++  java
  • FileUtils

    io 文件操作

    package com.zxwa.ntmss.Excel;
    
    import cn.hutool.core.util.StrUtil;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import java.io.*;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    
    public class FileUtils {
        private static Logger LOG = LoggerFactory.getLogger(FileUtils.class);
    
    
    
        public static byte[] netImage2Bytes(String netUrl) {
            LOG.info("开始下载:" + netUrl);
            try {
                //new一个URL对象
                URL url = new URL(netUrl);
                //打开链接
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                //设置请求方式为"GET"
                conn.setRequestMethod("GET");
                //超时响应时间为5秒
                conn.setConnectTimeout(5 * 1000);
                //通过输入流获取图片数据
                InputStream inStream = conn.getInputStream();
                //得到图片的二进制数据,以二进制封装得到数据,具有通用性
                byte[] data = readInputStream(inStream);
    ////                //new一个文件对象用来保存图片,默认保存当前工程根目录
    //                File imageFile = new File("D://BeautyGirl.jpg");
    //                //创建输出流
    //                FileOutputStream outStream = new FileOutputStream(imageFile);
    //                //写入数据
    //                outStream.write(data);
    //                //关闭输出流
    //                outStream.close();
                return data;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
         public static String netImage2File(String netUrl, String fileLocal) throws Exception {
            LOG.info("开始下载:" + netUrl);
            //new一个URL对象
            URL url = new URL(netUrl);
            //打开链接
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            //设置请求方式为"GET"
            conn.setRequestMethod("GET");
            //超时响应时间为5秒
            conn.setConnectTimeout(5 * 1000);
            //通过输入流获取图片数据
            InputStream inStream = conn.getInputStream();
            //得到图片的二进制数据,以二进制封装得到数据,具有通用性
            byte[] data = readInputStream(inStream);
    //                //new一个文件对象用来保存图片,默认保存当前工程根目录
            File imageFile = new File(fileLocal);
            //创建输出流
            FileOutputStream outStream = new FileOutputStream(imageFile);
            //写入数据
            outStream.write(data);
            //关闭输出流
            outStream.close();
            return fileLocal;
        }
    
        public static byte[] readInputStream(InputStream inStream) throws Exception {
            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
            //创建一个Buffer字符串
            byte[] buffer = new byte[1024];
            //每次读取的字符串长度,如果为-1,代表全部读取完毕
            int len = 0;
            //使用一个输入流从buffer里把数据读取出来
            while ((len = inStream.read(buffer)) != -1) {
                //用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
                outStream.write(buffer, 0, len);
            }
            //关闭输入流
            inStream.close();
            //把outStream里的数据写入内存
            return outStream.toByteArray();
        }
    
    
        public static byte[] readInputStream(String filePath) throws Exception {
            File file = new File(filePath);
            FileInputStream fis = new FileInputStream(file);
            return readInputStream(fis);
        }
    }
       
    故乡明
  • 相关阅读:
    Analysis Services features supported by SQL Server editions
    Azure DevOps to Azure AppServices
    Power BI For Competition
    Win10开机“提示语音”以及”随机播放音乐”
    Azure DevOps
    Allow Only Ajax Requests For An Action In ASP.NET Core
    Mobile CI/CD 101
    Configure SSL for SharePoint 2013
    AWS Step Function Serverless Applications
    Cordova Upload Images using File Transfer Plugin and .Net core WebAPI
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/14768934.html
Copyright © 2011-2022 走看看