• 大小: 35.6MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-03
  • 语言: Java
  • 标签: springmvc  hdfs  列表  

资源简介

使用springmvc+mybatis从页面进行hadoop2.6 HDFS文件系统的上传,下载和列表展示的Demo希望对大家有用。

资源截图

代码片段和文件信息

package cn.demo.controller;

import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;

import cn.demo.domain.FileBean;
import cn.demo.service.IFileService;

@Controller
@RequestMapping(“/file“)
public class FileController {
@Autowired
private IFileService fileService;
//使用springMVC解析器进行文件上传
@RequestMapping(“/uploadToHDFS2.action“)
public String uploadToHDFS2(HttpServletRequest requestHttpServletResponse response) throws IllegalStateException IOException Exception URISyntaxException{

//创建一个通用的多部分解析器
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
if(multipartResolver.isMultipart(request)){
//转换成多部分request  
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
//取得request中的所有文件名
Iterator iter = multiRequest.getFileNames();
while(iter.hasNext()){
//取得上传文件
MultipartFile file = multiRequest.getFile(iter.next());
if(file != null){
//取得当前上传文件的文件名称
String myFileName = file.getOriginalFilename();
//如果名称不为“”说明该文件存在,否则说明该文件不存在
if(myFileName.trim() !=““){
System.out.println(“======>“+myFileName);
//文件名
String fileName = file.getOriginalFilename();
String filePath = “/1127/“+fileName;

//--------------------------------------------
//上传到hdfs
Configuration configuration = new Configuration();
    configuration.addResource(“/core-site.xml“);
    configuration.addResource(“/hdfs-site.xml“);
    FileSystem fs = FileSystem.get(new URI(“hdfs://ns1“)configuration “root“);
byte[] bytes = file.getBytes();
InputStream inputStream = new ByteArrayInputStream(bytes);
FSDataOutputStream outputStream = fs

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-12-01 15:02  HDFSWeb\
     文件         886  2015-12-01 14:57  HDFSWeb\.classpath
     文件        1040  2015-11-27 11:37  HDFSWeb\.project
     目录           0  2015-12-01 15:02  HDFSWeb\.settings\
     文件         503  2015-11-27 11:37  HDFSWeb\.settings\.jsdtscope
     文件         364  2015-11-27 11:37  HDFSWeb\.settings\org.eclipse.jdt.core.prefs
     文件         550  2015-12-01 14:57  HDFSWeb\.settings\org.eclipse.wst.common.component
     文件         345  2015-11-27 11:37  HDFSWeb\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2015-11-27 11:37  HDFSWeb\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2015-11-27 11:37  HDFSWeb\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2015-12-01 15:02  HDFSWeb\build\
     目录           0  2015-12-01 15:02  HDFSWeb\build\classes\
     文件        2965  2015-12-01 14:57  HDFSWeb\build\classes\beans.xml
     目录           0  2015-12-01 15:02  HDFSWeb\build\classes\cn\
     目录           0  2015-12-01 15:02  HDFSWeb\build\classes\cn\demo\
     目录           0  2015-12-01 15:02  HDFSWeb\build\classes\cn\demo\controller\
     文件        8196  2015-12-01 15:00  HDFSWeb\build\classes\cn\demo\controller\FileController.class
     目录           0  2015-12-01 14:59  HDFSWeb\build\classes\cn\demo\dao\
     目录           0  2015-12-01 15:02  HDFSWeb\build\classes\cn\demo\domain\
     文件        2278  2015-12-01 14:57  HDFSWeb\build\classes\cn\demo\domain\FileBean.class
     文件         925  2015-12-01 14:57  HDFSWeb\build\classes\cn\demo\domain\ResFile.class
     文件         215  2015-12-01 14:57  HDFSWeb\build\classes\cn\demo\domain\ResFileMapper.xml
     目录           0  2015-12-01 15:02  HDFSWeb\build\classes\cn\demo\service\
     文件         664  2015-12-01 15:00  HDFSWeb\build\classes\cn\demo\service\FileServiceImpl.class
     文件         181  2015-12-01 14:57  HDFSWeb\build\classes\cn\demo\service\IFileService.class
     文件        1197  2015-12-01 14:57  HDFSWeb\build\classes\core-site.xml
     文件        2440  2015-12-01 14:57  HDFSWeb\build\classes\hdfs-site.xml
     文件         158  2015-12-01 14:57  HDFSWeb\build\classes\jdbc.properties
     文件         663  2015-12-01 14:57  HDFSWeb\build\classes\log4j.properties
     文件        1599  2015-12-01 14:57  HDFSWeb\build\classes\springmvc.xml
     文件         538  2015-12-01 14:57  HDFSWeb\build\classes\sqlMapConfig.xml
............此处省略134个文件信息

评论

共有 条评论