从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名。

1 import org.apache.hadoop.conf.Configuration;
2 import org.apache.hadoop.fs.*;
3 import org.apache.hadoop.fs.FileSystem;
4 import java.io.*;
5
6 public class B_DownLoadFile {
7 public static void copyToLocal(FileSystem fs, Path p_LocalPath,
8 Path p_RemotePath, String s_LocalPath, String s_RemotePath) {
9 try {
10 File f = new File(s_LocalPath);
11 Integer i = Integer.valueOf(0);
12 while (f.exists()) {
13 i++;
14 Integer lasti=Integer.valueOf(i-1);
15 String[] split_path = s_LocalPath.split("/");
16 String[] filename = split_path[4].split("\\.");
17
18 if(i>1){
19 filename[0]=filename[0].replace("("+lasti+")", "");
20 System.out.println(filename[0] + "("
21 + lasti.toString() + ")" +"."+ filename[1] + " existed.");
22 }
23 else
24 System.out.println(filename[0] +"."+ filename[1] + " existed.");
25 s_LocalPath = "/"+split_path[1] + "/" + split_path[2] + "/"
26 + split_path[3] + "/" +filename[0] + "("
27 + i.toString() + ")" +"."+ filename[1];
28 f = new File(s_LocalPath);
29 }
30 System.out.println("Download to " + s_LocalPath);
31 p_LocalPath = new Path(s_LocalPath);
32 fs.copyToLocalFile(p_RemotePath, p_LocalPath);
33 } catch (IOException e) {
34 e.printStackTrace();
35 }
36 }
37
38 public static void main(String[] args) {
39 Var_init var = new Var_init();
40 try {
41 B_DownLoadFile.copyToLocal(var.fs, var.p_localFilePath,
42 var.p_remoteFilePath, var.s_localFilePath,
43 var.s_remoteFilePath);
44 } catch (Exception e) {
45 e.printStackTrace();
46 }
47 }
48 }
从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名。的更多相关文章
- linux下载文件到本地_把linux服务器的文件下到本地windows
tar -cvf script.tar scriptsz script.tar 文件夹先要打包,并且要指定打包的名字. 具体: sz/rz命令: 一般来说,linux服务器大多是通过ssh来进行远 ...
- C#中获取指定路径下特定开头和后缀的所有文件
场景 指定一个文件路径,获取当前路径下所有文件,并筛选出以指定内容开头和结尾的文件. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 ...
- git下载指定分支到本地
从网上查了很多方法有很多种,自我感觉下面这种更方便 git clone xxx.git --branch 分支名/dev/...
- 从服务端下载文件到本地windows
之前常使用本地ubuntu和远程的centos服务器或者是本地mac和远程centos服务器通过命令scp或者nc来进行文件的传输. 现在用的是windows系统,欲将服务器的某文件load到本地. ...
- linux下载文件到本地命令
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/mengda_lei/article/de ...
- 通过wget工具下载指定文件中的URLs对应的资源并保存到指定的本地目录中去并进行文件完整性与可靠性校验
创建URLs文件在终端输入cd target_directory回车,便把当前文件夹切换到了目标文件夹target_directory,此后创建的文件都会丢它里面在终端输入cat > URLs回 ...
- 通过指定的 url 去网络或者文件服务器下载文件到本地某个文件夹
/** * 从网络Url中下载文件 * @param urlStr 指定的url * @param fileName 下载文件到本地的名字 * @param savePath 本地保存下载文件的路径 ...
- 【Java】数据库查询的数据直接以指定文件类型下载到本地(弹出下载框)
欲实现的功能目标:当点击下图的导出数据文件时弹出文件下载框,默认csv格式,用户自定义下载的本地路径 遇到的问题: 1.项目之前做过一次下载,但是是使用了本地文件模板.用输入流读取文件模板,插入数据, ...
- hadoop学习笔记(十):hdfs在命令行的基本操作命令(包括文件的上传和下载和hdfs中的文件的查看等)
hdfs命令行 ()查看帮助 hdfs dfs -help ()查看当前目录信息 hdfs dfs -ls / ()上传文件 hdfs dfs -put /本地路径 /hdfs路径 ()剪切文件 hd ...
- 在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹)
在Xshell中上传下载文件到本地(linux中从多次ssh登录的dbserver里面的文件夹) 1 列出所有需要copy的sh文件 -bash-4.1$ ll /mysqllog/osw/*.sh ...
随机推荐
- DotNet .Net Framework与Net Core与Net Standard 以及.NET5
Net Framework 是什么 1.Net Framework 是Net的一种实现,在此类库上我们可以使用C#,VB,F#进行程序编写,主要用于构建Windows 下的应用程序 2.有两部分组成部 ...
- OJDBC版本区别
classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar,ojdbc7.jar的区别与差异 [转 原文:https://yq.aliyun.com/wenji/2 ...
- ssrf与gopher与redis
ssrf与gopher与redis 前言 ssrf打redis是老生常谈的问题,众所周知redis可以写文件,那么ssrf使用gopher协议去控制未授权的redis进行webshell的写入和计划任 ...
- Docker 的 2020,实 "鼠" 不易!
元旦你们出去嗨,栈长在家撸文章,惨惨惨- 没错, Docker 的 2020 年也过的不是很顺利,可以说是流年不利.命运多舛,一年发生两件大事,太折腾! 相信大家也已经看到很多相关的报道了,但同时也有 ...
- 漫谈JSON Web Token(JWT)
一.背景 传统的单体应用基于cookie-session的身份验证流程一般是这样的: 用户向服务器发送账户和密码. 服务器验证账号密码成功后,相关数据(用户角色.登录时间等)都保存到当前会话中. 服务 ...
- 基于http的netty demo
1.引入netty的pom <dependency> <groupId>io.netty</groupId> <artifactId>netty-all ...
- VIM和正则表达式
1.VIM 1.1vim简介 vim是一款强大的文本编辑器,它和 vi 使用方法一致,但功能更为强大.官网:www.vim.org.中文手册:http://vimcdoc.sourceforge.ne ...
- 通过python的socket库实现简易即时通讯小程序
前言 最近学习了一下有关tcp协议和socket有关的知识,看到许多socket实战都喜欢教如何做一个聊天程序,于是想着试试能不能不看教程自己写一个.当然我没太多时间做一个像qq一样的ui界面,所以做 ...
- SpringSecurity配置文件
@EnableWebSecurity public class seccurityConfig extends WebSecurityConfigurerAdapter { @Override pro ...
- Github不为人知的一个功能,一个小彩蛋
Github 是一个基于Git的代码托管平台,相信很多人都用过,当然这些"很多人"中大部分都是程序员.当你在Github上创建仓库时(Github称项目为仓库),你会给这个仓库添加 ...