JavaWeb操作hadoop2.6 HDFS从页面上传,,列表展示的demo


使用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.settingsorg.eclipse.jdt.core.prefs
     文件         550  2015-12-01 14:57  HDFSWeb.settingsorg.eclipse.wst.common.component
     文件         345  2015-11-27 11:37  HDFSWeb.settingsorg.eclipse.wst.common.project.facet.core.xml
     文件          49  2015-11-27 11:37  HDFSWeb.settingsorg.eclipse.wst.jsdt.ui.superType.container
     文件           6  2015-11-27 11:37  HDFSWeb.settingsorg.eclipse.wst.jsdt.ui.superType.name
     目录           0  2015-12-01 15:02  HDFSWebuild
     目录           0  2015-12-01 15:02  HDFSWebuildclasses
     文件        2965  2015-12-01 14:57  HDFSWebuildclasseseans.xml
     目录           0  2015-12-01 15:02  HDFSWebuildclassescn
     目录           0  2015-12-01 15:02  HDFSWebuildclassescndemo
     目录           0  2015-12-01 15:02  HDFSWebuildclassescndemocontroller
     文件        8196  2015-12-01 15:00  HDFSWebuildclassescndemocontrollerFileController.class
     目录           0  2015-12-01 14:59  HDFSWebuildclassescndemodao
     目录           0  2015-12-01 15:02  HDFSWebuildclassescndemodomain
     文件        2278  2015-12-01 14:57  HDFSWebuildclassescndemodomainFileBean.class
     文件         925  2015-12-01 14:57  HDFSWebuildclassescndemodomainResFile.class
     文件         215  2015-12-01 14:57  HDFSWebuildclassescndemodomainResFileMapper.xml
     目录           0  2015-12-01 15:02  HDFSWebuildclassescndemoservice
     文件         664  2015-12-01 15:00  HDFSWebuildclassescndemoserviceFileServiceImpl.class
     文件         181  2015-12-01 14:57  HDFSWebuildclassescndemoserviceIFileService.class
     文件        1197  2015-12-01 14:57  HDFSWebuildclassescore-site.xml
     文件        2440  2015-12-01 14:57  HDFSWebuildclasseshdfs-site.xml
     文件         158  2015-12-01 14:57  HDFSWebuildclassesjdbc.properties
     文件         663  2015-12-01 14:57  HDFSWebuildclasseslog4j.properties
     文件        1599  2015-12-01 14:57  HDFSWebuildclassesspringmvc.xml
     文件         538  2015-12-01 14:57  HDFSWebuildclassessqlMapConfig.xml
............此处省略134个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)