hadoop 文件 复制 移动 FileUtil.copy

FileSystem fs = FileSystem.get(conf);
Path pattern = new Path(resultViewPath + "phone*");
Path dir = new Path(dest);
if (!fs.exists(dir)) {      // 目标目录
fs.mkdirs(dir);
}
FileStatus[] status = fs.globStatus(pattern);   //  匹配正则表达式的文件集合
Path[] paths = FileUtil.stat2Paths(status);      //  转换为Path数组
for (Path i : paths) {                                  //   复制每个文件
FileUtil.copy(fs, i, fs, dir, false, conf);   // false 表示移动的时候不删除原路径文件
System.out.println(i);
}

 

转载于:https://www.cnblogs.com/agileblog/p/4720680.html

org.apache.hadoop.fs.FileUtilHadoop中的一个工具类,提供了一些常用的文件操作方法。下面是该类中一些常用方法的详解: 1. copy(FileSystem srcFS, Path src, FileSystem dstFS, Path dst, boolean deleteSource, Configuration conf):将一个文件从源文件系统复制到目标文件系统。如果deleteSource为true,则在复制成功后删除源文件。 2. listFiles(File dir):列出指定目录下的所有文件和子目录。返回值是一个File数组。 3. symlink(File target, File link):在link位置创建一个指向target的符号链接。该方法只在支持符号链接的文件系统上可用。 4. copyMerge(FileSystem srcFS, Path srcDir, FileSystem dstFS, Path dstFile, boolean deleteSource, Configuration conf, String addString):将指定目录下的所有文件合并成一个文件,并将结果存储在dstFile中。如果deleteSource为true,则在合并成功后删除源文件。addString参数是可选的,用于在每个文件之间添加一个字符串。 5. chmod(File path, String perm):更改指定路径的权限。perm参数是一个八进制数字,如“755”。 6. chown(File path, String owner, String group):更改指定路径的所有者和组。owner和group参数都是字符串类型。 7. getDU(File dir):计算指定目录中所有文件和子目录的总大小。返回值是一个long类型的数字,表示文件大小。 8. symLinkTarget(File link):返回指向指定符号链接的目标文件路径。如果link不是一个符号链接,则返回null。 9. setWritable(File path, boolean writable):设置指定路径的可写权限。 10. setReadable(File path, boolean readable):设置指定路径的可读权限。 11. setExecutable(File path, boolean executable):设置指定路径的可执行权限。 这些方法是org.apache.hadoop.fs.FileUtil类中的一部分,可以帮助你实现一些常见的文件操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值