/**** @param hdfsPath hdfs 服务器路径* @param pathName hdfs 文件夹路径* @param response*/
public static void downloadHdfs(String hdfsPath,String pathName,HttpServletResponse response) {//"hdfs://SZ-GADZ050200-NN:8020"///user/lingz/ai/69/model/csv"List<String> list = new ArrayList();Configuration conf = new Configuration();URI uri = URI.create(hdfsPath);FileSystem hdfs = null;Path path = new Path(pathName);try {hdfs = FileSystem.get(uri, conf, "hdfs");FileStatus[] files = hdfs.globStatus(path);for (FileStatus file : files) {if (file.isDirectory()) {RemoteIterator<LocatedFileStatus> iterator = hdfs.listFiles(file.getPath(), false);while (iterator.hasNext()) {LocatedFileStatus fileStatus = iterator.next();Path fullPath = fileStatus.getPath();System.out.println(fullPath);FileSystem fs = FileSystem.get(new URI(hdfsPath), new Configuration());InputStream in = fs.open(new Path(fullPath.toString()));//copy到本地磁盘
//                        OutputStream out = new FileOutputStream(downloadPath);
//                        IOUtils.copyBytes(in, out, 4096, true);//copy到本地磁盘endString name = fullPath.getName();//3.设置content-disposition响应头控制浏览器以下载的形式打开文件response.setHeader("content-disposition", "attachment;filename=" + name);//4.获取要下载的文件输入流
//                        InputStream in = new FileInputStream(fullPath.toString());int len = 0;//5.创建数据缓冲区byte[] buffer = new byte[1024];//6.通过response对象获取OutputStream流OutputStream out = response.getOutputStream();//7.将FileInputStream流写入到buffer缓冲区while ((len = in.read(buffer)) > 0) {//8.使用OutputStream将缓冲区的数据输出到客户端浏览器out.write(buffer, 0, len);}in.close();}} else {System.out.println(file.getPath());}}} catch (IOException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();} catch (URISyntaxException e){e.printStackTrace();}}

HDFS 文件下载 通过浏览器相关推荐

  1. java二进制文件下载到浏览器默认路径

    java二进制文件下载到浏览器默认路径 java二进制文件下载到浏览器默认路径.当然可以下载到指定系统指定路径但是作用不大. 下面是通过调用的开放接口拿到的一个FileBinary二进制文件,输出流输 ...

  2. 文件下载(浏览器下载与迅雷下载)

    以前并没有特别注意过,文件下载都是输出一个流文件,放在response中返还给浏览器就可以下载文件了.上次突然发现迅雷不能下载这样的文件(虽然现在迅雷用的比较少了). 上网查了一部分资料,整理常见的一 ...

  3. 前端随记---文件下载启用浏览器下载和迅雷下载

    一.前言 最近在写自己的项目时,要实现文件下载功能.然后想起一般在资源网站下载文件的时候,它们都是给出一个资源链接,然后调用浏览器下载或启用外部的程序(如:迅雷下载), 因此想偷个懒,在自己项目中使用 ...

  4. java 不生成文件下载_java – 浏览器不生成文件下载对话框

    我目前的情况是JavaScript客户端有一堆数据,我POST到服务器处理/转换成不同的格式(例如CSV),现在我想将转换后的数据从服务器发送到客户端. 我设置了响应的内容类型,但浏览器不生成文件对话 ...

  5. 文件下载被浏览器默认打开解决方法

    问题描述: 下载视频文件时,被浏览器默认打开 原因分析: chrome浏览器默认事件,默认直接打开. 解决方案: <iframe width=0 height=0 frameborder=0 n ...

  6. php 三种文件下载至浏览器的方法

    学习网址:www.only-softs.com 1.直接添加文件链接 <button><a href = "http://localhost/文件.zip"> ...

  7. hadoop中hdfs文件下载

    一.不多说,按照惯例,先贴代码 还是建议粘贴到自己的eclipse中查看 package com.Lin_wj1995.bigdata.hdfs;import java.io.FileNotFound ...

  8. Hadoop hdfs文件下载代码示例

  9. 【快速入门大数据】hadoop和它的hdfs、yarn、mapreduce

    文章目录 导学 大数据概述 初识Hadoop 概述 核心组件 HDFS分布式文件系统 资源调度系统YARN MapReduce 优势 发展史 生态系统 发行版本选择 企业应用案例 第3章 分布式文件系 ...

最新文章

  1. Amazing ASP.NET Core 2.0
  2. mysql常用语句整理
  3. Golang 单元测试详尽指引
  4. webpack.config.js和package.json
  5. 动态给H5页面绑定数据,基本万能无错误!
  6. fread 和 read的区别
  7. gatsby_与Gatsby一起使用React Context API
  8. python 运维包_python运维常用模块
  9. w10安装ubuntu_Windows10安装ubuntu18.04双系统教程
  10. 轮子|Python2异常链
  11. 如果有人私信,吾看到后都会及时回答
  12. python 爬取直播弹幕视频_Python实现抓取斗鱼实时弹幕
  13. SpringBoot——检索
  14. 2019杭电多校训练营(第一场)
  15. java随机生成26个大写字母
  16. RFID危化品管理系统解决方案
  17. Linux 学习资料
  18. 瑞吉外卖项目的购物车sub操作
  19. WXpython下载很慢安装包教程,直接安装不上,只好把所有包下载下来
  20. Default encoder for format image2 (codec png) is probably disabled. Please choose an encoder manuall

热门文章

  1. 赛门铁克SEP架构部署的常见问题解答
  2. 安卓4.3系统,请问如何关闭通知栏里金山手机毒霸的常驻通知
  3. windos 批处理
  4. filezilla定时上传_ftp定时任务上传文件,ftp怎么做到定时任务上传文件
  5. LeetCode122-买卖股票的最佳时机II-模拟-数组
  6. VR外包商:最新WEARVR游戏下载
  7. pscc2018下载|photoshop cc 2018中文版 (PS最新版)
  8. 通过二维码图片识别二维码内容方法
  9. php layer弹出层更改背景,layui.layer 弹出层背景透明,前景无阴影实现方案
  10. 朴素贝叶斯+语言模型