java|java 远程文件url如何转为输入流
目录
- java 远程文件url 转为输入流
- 根据URL网址获取输入流
- 方法一
- 方法二
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
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; }
【java|java 远程文件url如何转为输入流】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- CVE-2020-16898|CVE-2020-16898 TCP/IP远程代码执行漏洞
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- java中如何实现重建二叉树
- 使用composer自动加载类文件
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题