广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java 远程文件url如何转为输入流
  • 785
分享到

java 远程文件url如何转为输入流

2024-04-02 19:04:59 785人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录java 远程文件url 转为输入流根据URL网址获取输入流方法一方法二java 远程文件url 转为输入流 URL url = new URL(fileUrl); Http

java 远程文件url 转为输入流


URL url = new URL(fileUrl);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//设置超时间为3秒
conn.setConnectTimeout(3*1000);
//防止屏蔽程序抓取而返回403错误
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; windows NT; DigExt)");
//得到输入流
InputStream inputStream = conn.getInputStream();

public static ajaxModel parseexcelForInfo(InputStream inputStream, String fileName, int taskId) {
    try {
        //创建workbook对象
        Workbook workbook = null;
        if (fileName.contains(".xlsx")) {
            workbook = new XSSFWorkbook(inputStream);
        } else if (fileName.contains(".xls")) {
            workbook = new HSSFWorkbook(inputStream);
        } else {
            return AjaxModel.failed(-1, "文件类型不正确");
        }
        //获取第一个sheet表
        Sheet sheetAt = workbook.getSheetAt(0);
        if (sheetAt != null) {
            // TODO 校验excel头
            Row headRow = sheetAt.getRow(0);
            for (int i = 0; i < BusinessSettlementConstants.TEMPLATE_COULMN.length; i++) {
                if (!FileUtil.getCellFORMatValue(headRow.getCell(i)).trim().equals(BusinessSettlementConstants.TEMPLATE_COULMN[i])) {
                    LOGGER.info("parseExcelForInfo excel头部信息顺序不正确,getCellFormatValue(headRow.getCell(i)):{}," +
                                    "BusinessSettlementConstants.TEMPLATE_COULMN[i]:{},taskId:{}", FileUtil.getCellFormatValue(headRow.getCell(i)),
                            BusinessSettlementConstants.TEMPLATE_COULMN[i], taskId);
                    return AjaxModel.failed("excel标题头顺序不正确:" + FileUtil.getCellFormatValue(headRow.getCell(i)));
                }
            }
            int startRowNum = sheetAt.getFirstRowNum() + 1;
            int lastRowNum = sheetAt.getLastRowNum();
 
            LOGGER.info("解析excel开始taskId:{},从【{}】行开始,到第【{}】行结束", taskId, startRowNum, lastRowNum);
            List<Map<String, String>> dataList = new ArrayList<Map<String, String>>();
            for (int rowNum = startRowNum; rowNum <= lastRowNum; rowNum++) {
                // 每一行数据
                Row row = sheetAt.getRow(rowNum);
                Map<String, String> map = new HashMap<>();
                LOGGER.info("parseExcelForInfo row:{}", row);
                if (row != null && row.getCell(0) != null && StringUtils.isNotEmpty(row.getCell(0).getStrinGCellValue()) && row.getCell(2) != null && row.getCell(4) != null) {
                    LOGGER.info("parseExcelForInfo row:{},cell:{}", row, row.getCell(0));
                    // 姓名
                    map.put("userName", FileUtil.getCellFormatValue(row.getCell(0)));
                    
                    dataList.add(map);
                }
            }
            LOGGER.info("--------------解析完成 dataList:{}", dataList);
            if (dataList.size() <= 0) {
                return AjaxModel.failed(-1, "解析表格数据为空");
            }
            AjaxModel success = AjaxModel.success();
            success.getData().put("dataList", dataList);
            return success;
        } else {
            LOGGER.info("sheet内容为空");
            return AjaxModel.failed(-1, "表格内容为空");
        }
    } catch (Exception e) {
        LOGGER.error("parseExcelForInfo 解析异常", e);
    }
    return AjaxModel.failed(-1, "解析表格异常");
}

public static String getCellFormatValue(Cell cell) {
    cell.setCellType(CellType.STRING);
    return cell.getStringCellValue();
}

根据URL网址获取输入流

方法一


//文件访问路径
String url = "";
InputStream intstream = new URL(url).openStream();

方法二


public InputStream getInputStreamByUrl(String strUrl) {
        HttpURLConnection conn = null;
        try {
            URL url = new URL(strUrl);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setConnectTimeout(20 * 1000);
            final ByteArrayOutputStream output = new ByteArrayOutputStream();
            IOUtils.copy(conn.getInputStream(), output);
            return new ByteArrayInputStream(output.toByteArray());
        } catch (Exception e) {
            logger.error("getInputStreamByUrl 异常,exception is {}", e);
        } finally {
            try {
                if (conn != null) {
                    conn.disconnect();
                }
            } catch (Exception e) {
            }
        }
        return null;
    }

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

--结束END--

本文标题: java 远程文件url如何转为输入流

本文链接: https://www.lsjlt.com/news/154785.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java 远程文件url如何转为输入流
    目录java 远程文件url 转为输入流根据URL网址获取输入流方法一方法二java 远程文件url 转为输入流 URL url = new URL(fileUrl); Http...
    99+
    2022-11-12
  • Java 如何将网络资源url转化为File文件
    将网络资源url转化为File文件 将互联网上的http开头的url资源,保存到本地。 private File getNetUrlHttp(String path){ ...
    99+
    2022-11-12
  • Java如何获取url地址文件流
    目录获取url地址文件流根据url获取文件的二进制上代码获取url地址文件流 public static InputStream getInputStreamFromUrl(Str...
    99+
    2022-11-13
  • Java如何将HTML文件转换为PDF文件
    随着互联网时代的到来,网页越来越成为人们获取信息的主要渠道。但是,网页上的信息无法离线保存,有时用户需要在没有网络连接的情况下查看网页内容。这时,转换网页为PDF文件就成为了不错的选择。在众多的软件中,Java有着较为强大的PDF生成能力,...
    99+
    2023-05-14
  • 如何实现data:image data url文件转为Blob上传后端
    这篇文章主要介绍如何实现data:image data url文件转为Blob上传后端,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一些场景,比如canvas获取的图片,或者微信开发...
    99+
    2022-10-19
  • python如何把文件转化为二进制流
    在Python中,可以使用`open()`函数以二进制模式打开文件,并使用`read()`函数将文件内容读取为二进制数据。以下是一个...
    99+
    2023-09-26
    python
  • php如何读取远程xml文件并转化为数组
    这篇文章主要讲解了“php如何读取远程xml文件并转化为数组”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何读取远程xml文件并转化为数组”吧!php读取远程xml文件并转化为数组的...
    99+
    2023-06-25
  • 图文详解如何将java编写的程序转为exe文件
    目录前言1.导出相应程序jar包2.使用exe4j生成exe文件总结前言 java一次编译到处运行,但是如果遇到没有jre的平台就手足无措了,当前各大计算机平台及计算机os更普遍接受...
    99+
    2023-01-18
    java文件转换成exe java程序怎么变成exe java怎么生成exe文件
  • cmd中输入java找不到文件如何解决
    今天小编给大家分享一下cmd中输入java找不到文件如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。解决方法:方法一、...
    99+
    2023-07-01
  • canvas压缩图片如何转换成base64格式输出文件流
    这篇文章主要介绍了canvas压缩图片如何转换成base64格式输出文件流,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例如; ...
    99+
    2022-10-19
  • 如何使用vbs将HTML或txt文件转换为ASP输出
    这篇文章将为大家详细讲解有关如何使用vbs将HTML或txt文件转换为ASP输出,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用方法:手工修改html文件的名称与想要生成的asp的文件名称,然后将下面的...
    99+
    2023-06-08
  • windows远程桌面连接如何传输文件
    这篇“windows远程桌面连接如何传输文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“windows远程桌面连接如何传输...
    99+
    2023-06-30
  • 阿里云服务器如何远程传输文件
    阿里云服务器是一款高性能的云服务器,可以通过阿里云服务器的远程传输功能将文件传输到其他设备上。以下是一些基本的步骤: 安装阿里云服务器软件,并连接到阿里云服务器。如果您没有安装阿里云服务器软件,则需要下载并安装软件。 打开阿里云服务器软...
    99+
    2023-10-27
    阿里 传输文件 服务器
  • Java项目中如何将键盘输入事件保存到txt文件
    本篇文章给大家分享的是有关Java项目中如何将键盘输入事件保存到txt文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。具体如下:package javatest;i...
    99+
    2023-05-31
    java ava 目中
  • 阿里云服务器如何远程传输文件到手机
    首先,阿里云服务器支持文件的远程传输。用户可以通过阿里云服务器的控制台,将文件上传到云端。在上传文件之前,用户需要创建一个新的阿里云账号,并设置好登录密码和验证码。在上传文件时,系统会自动检测文件格式是否符合要求,并进行压缩和解压操作,最终...
    99+
    2023-10-28
    阿里 传输文件 服务器
  • Java如何将Numpy文件转换为自然语言处理数据?
    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它涉及到对自然语言的理解、生成、翻译等方面。在NLP中,数据处理是一个重要的环节。而在数据处理中,numpy文件是一种常见的数...
    99+
    2023-11-08
    文件 numpy 自然语言处理
  • vue工程如何为组件自动注入全局样式文件
    目录Less和Stylus安装style-resources-loader配置vue.config.jsSass/Scss扩展开发过程中,随着工程变大,不免要提取出一些公共的样式,如...
    99+
    2022-11-13
  • 阿里云服务器如何远程传输文件到新手机
    首先,我们需要了解阿里云服务器支持哪些传输方式。阿里云服务器可以提供多种传输方式,包括但不限于文件上传、下载、存储、远程控制等等。在这些传输方式中,阿里云服务器都提供了不同的功能和选项,可以满足不同的需求。 如果您想通过文件上传的方式将阿...
    99+
    2023-10-27
    阿里 到新 传输文件
  • 如何理解Python程序转为EXE文件的正确实现方法
    这篇文章给大家介绍如何理解Python程序转为EXE文件的正确实现方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在Python编程语言中,开发出的程序可以转换成EXE文件来实现一些特定的操作。在这里我们将会为大家详...
    99+
    2023-06-17
  • 如何在Java中使用Bash文件编程算法:一个入门指南?
    Java是一种流行的编程语言,它可以用于开发各种应用程序。然而,有时我们需要在Java中使用Bash文件编程算法来处理一些任务。在本文中,我们将提供一个入门指南,介绍如何在Java中使用Bash文件编程算法。 什么是Bash文件? Bash...
    99+
    2023-06-25
    bash 文件 编程算法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作