import java.text.SimpleDateFormat;
import java.util.Scanner;
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.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator; public class J_moveFile { public static void DelFile(FileSystem fs, Path p_remotepath) {
try {
if (fs.delete(p_remotepath, true)) {
System.out.println("del successfully");
} else {
System.out.println("del fail");
}
} catch (Exception e) {
e.printStackTrace();
}
} public static void ReadFilesStatus(FileStatus fileinfo) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("file path :" + fileinfo.getPath());
} public static void GetAllFilePath(FileStatus fileinfo, FileSystem fs) {
try {
String s_path = "/user";
Path p_path = new Path(s_path);
RemoteIterator<LocatedFileStatus> remoteIterator = fs.listFiles(
p_path, true);
while (remoteIterator.hasNext()) {
fileinfo = remoteIterator.next();
ReadFilesStatus(fileinfo);
}
} catch (Exception e) {
e.printStackTrace();
}
} public static void MoveFile(FileSystem fs, String s_remotepath,
Path p_remotepath_src, Path p_remotepath_dst) {
try {
String s_tmppath = "/home/hadoop/tmpfile/";
String[] split_path = s_remotepath.split("/");
String filename = split_path[split_path.length - 1];
s_tmppath = s_tmppath + filename;
Path p_tmppath = new Path(s_tmppath);
fs.moveToLocalFile(p_remotepath_src, p_tmppath);
fs.moveFromLocalFile(p_tmppath, p_remotepath_dst);
System.out.println("MoveFile successfully");
} catch (Exception e) {
e.printStackTrace();
}
} public static void main(String arg[]) {
try {
Var_init var = new Var_init();
GetAllFilePath(var.fileinfo, var.fs);
System.out
.println("plz input the file u want to move like /user/hadoop/test /user/hadoop/qwq/");
Scanner sc = new Scanner(System.in);
String src_path = sc.next();
String dst_path = sc.next();
Path src_remotepath = new Path(src_path);
Path dst_remotepath = new Path(dst_path); MoveFile(var.fs, src_path, src_remotepath, dst_remotepath);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Var_init类参考https://www.cnblogs.com/MiraculousB/p/13848744.htm

在HDFS中将文件从源路径移动到目的路径。的更多相关文章

  1. Spark中加载本地(或者hdfs)文件以及SparkContext实例的textFile使用

    默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读 本地文件读取 sc.textFile("路 ...

  2. HDFS dfsclient写文件过程 源码分析

    HDFS写入文件的重要概念 HDFS一个文件由多个block构成.HDFS在进行block读写的时候是以packet(默认每个packet为64K)为单位进行的.每一个packet由若干个chunk( ...

  3. HDFS写文件过程分析

    转自http://shiyanjun.cn/archives/942.html HDFS是一个分布式文件系统,在HDFS上写文件的过程与我们平时使用的单机文件系统非常不同,从宏观上来看,在HDFS文件 ...

  4. HDFS常用文件操作

    put 上传文件    hadoop fs -put wordcount.txt   /data/wordcount/ text 查看文件内容   hadoop fs -text /output/wo ...

  5. HDFS读文件过程分析:读取文件的Block数据

    转自http://shiyanjun.cn/archives/962.html 我们可以从java.io.InputStream类中看到,抽象出一个read方法,用来读取已经打开的InputStrea ...

  6. eclipse查看class文件的源码

    eclipse查看class文件的源码: 1.网上下载jadClipse的jar包和执行文件jad.exe和 net.sf.jadclipse_3.3.0.jar. 2.把上面下载的jar包放在ecp ...

  7. 使用oracle的大数据工具ODCH访问HDFS数据文件

    软件下载 Oracle Big Data Connectors:ODCH 下载地址: http://www.oracle.com/technetwork/bdc/big-data-connectors ...

  8. Java文件操作源码大全

    Java文件操作源码大全 1.创建文件夹 52.创建文件 53.删除文件 54.删除文件夹 65.删除一个文件下夹所有的文件夹 76.清空文件夹 87.读取文件 88.写入文件 99.写入随机文件 9 ...

  9. 实现目标文件与源码分开的makefile测试实验

    uboot提供了两种编译策略,即可以将生成的目标文件与源码混在一起,也可以将生成的目标文件与源码分开.通过对uboot Makefile的分析,笔者编写了一个简单的实现这种功能的Makfile. 顶层 ...

随机推荐

  1. [UWP] - 用Json格式来发送一个Post请求到WCF服务

    测试实体类:(需要在客户端和服务端建了有相同字段名称的实体) public class CompositeType { public CompositeType() { SubCompositeTyp ...

  2. 5.innodb B+tree索引

    索引基础 索引是数据结构 1.图例 2.B+tree 特征 1.非叶子节点不保存数据,只用来索引,数据都保存在叶子节点 2.查询任何一条数据,查询的索引深度都是一样的 3. B+ 树中各个页之间是通过 ...

  3. JVM笔记【1】-- 运行时数据区

    目录 (一)java内存区域管理 1.1 程序计数器 1.2 虚拟机栈 1.3 本地方法栈 1.4 java堆 1.5 方法区 1.5.1 运行时常量池 (二)直接内存 (一)java内存区域管理 C ...

  4. idea 中在src/main/java中的xml扫描不到问题

    <build> <!-- start idea 默认 不加载 java下的配置文件 --> <resources> <resource> <dir ...

  5. 读取xlsx文件的内容输入到xls文件中

    package com.cn.peitest.excel; import java.io.File; import java.io.FileInputStream; import java.io.Fi ...

  6. 个人总结的一些C++基础理论

    我自己整理的一些C++基础理论知识,面试的同学可以用到: 主要是针对那些基础理论知识比较薄弱的同学吧,希望会对大家面试有些帮助,排版什么的有点乱,大家多多包涵: 往期经典: 北漂95后的2020 给北 ...

  7. 事件驱动之JDK观察者模式

    JDK中关于观察者模式主要了解俩个概念 Observer观察者 Observable事件源:当事件源发生某事件时,有两个事情需要注意 1.里面有一个isChange属性  当为false时不会发通知给 ...

  8. 第十二章节 BJROBOT 摄像头寻线 【ROS全开源阿克曼转向智能网联无人驾驶车】

    关于摄像头:普通摄像头, USB 免驱摄像头都可以使用. 1.如下图所示,用红色胶布在地板上贴一条线,小车摆放在线的一头处,让线在小车的中间位置,摄像头角度往下调整倾斜一点,好让摄像头识别到红线.注意 ...

  9. MFC(c++大作业)基本对话框的使用(求平均成绩)

    OOPEx2Dlg.cpp // OOPEx2Dlg.cpp : 实现文件 // #include "stdafx.h" #include "OOPEx2.h" ...

  10. C#处理医学图像(一):基于Hessian矩阵的血管肺纹理骨骼增强对比

    在医院实际环境中,经常遇到有问题的患者,对于一些特殊的场景,比如骨折,肺结节,心脑血管问题 需要图像对比增强来更为清晰的显示病灶助于医生确诊,先看效果: 肺纹理增强: 肺结节增强: 血管对比增强: 骨 ...