1 import java.io.FileInputStream;
2 import java.io.IOException;
3 import java.util.Scanner;
4
5 import org.apache.hadoop.conf.Configuration;
6 import org.apache.hadoop.fs.FSDataOutputStream;
7 import org.apache.hadoop.fs.FileSystem;
8 import org.apache.hadoop.fs.Path;
9
10 public class A_UpdatedFile {
11
12
13 public static void appendToFile(FileSystem fs, String localFilePath,
14 String remoteFilePath) {
15 Path remotePath = new Path(remoteFilePath);
16 try {
17 FileInputStream in = new FileInputStream(localFilePath);
18 FSDataOutputStream out = fs.append(remotePath);
19 byte[] data = new byte[1024];
20 int read = -1;
21 while ((read = in.read(data)) > 0) {
22 out.write(data, 0, read);
23 }
24 out.close();
25 } catch (IOException e) {
26 e.printStackTrace();
27 }
28 }
29
30 public static void main(String[] args) {
31 Var_init var = new Var_init();
32 try {
33 boolean fileExists = var.fs.exists(var.p_remoteFilePath);
34 if (fileExists) {
35 System.out.println(var.s_remoteFilePath + " 已存在.");
36 } else {
37 System.out.println(var.s_remoteFilePath + " 不存在.");
38 }
39 if (!fileExists) {
40 var.fs.copyFromLocalFile(false, true, var.p_localFilePath, var.p_remoteFilePath);
41 System.out.println(var.s_localFilePath + " 已上传至 "
42 + var.s_remoteFilePath);
43 } else {
44 Scanner choose = new Scanner(System.in);
45 System.out.println("input c to cover,input a to append");
46 String str = choose.next();
47 if(str.equals("c"))
48 {
49 var.fs.copyFromLocalFile(false, true, var.p_localFilePath, var.p_remoteFilePath);
50 System.out.println("cover successfully");
51 }
52 else if(str.equals("a"))
53 {
54 A_UpdatedFile.appendToFile(var.fs, var.s_localFilePath, var.s_remoteFilePath);
55 System.out.println("append successfully");
56 }
57 else
58 {
59 System.out.println("plz input right common");
60 }
61 }
62 } catch (Exception e) {
63 e.printStackTrace();
64 }
65 }
66 }

向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件的更多相关文章

  1. MVC文件上传08-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹

    当需要为每个用户建立一个专属上传文件夹的时候,可以在提交文件的视图中添加一个隐藏域,并设置name="objectContext". 相关兄弟篇: MVC文件上传01-使用jque ...

  2. Linux下用户管理:创建用户指定密码

    首先我们来了解下Linux下用户管理的概念: 如上图所示,左边的一列表示用户名,中间的一列表示用户组,最右边的一列表示的是家目录.用户名我们这里处于简单就,添加了root,xm,xh三个用户.用户组和 ...

  3. HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo

    26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式 ...

  4. Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)

    不多说,直接上代码. 代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs6; import java.io.IOException;import jav ...

  5. 上传本地文件到HDFS

    源代码: import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hado ...

  6. .net项目中上传大图片失败

    .net项目中有时用户提出要上传大图片,一张图片有可能十几兆,本来用的第三方的上传控件,有限制图片上传大小的设置,以前设置的是2M.按照用户的要求,以为直接将限制图片上传大小的设置改下就可以了,但是当 ...

  7. Hadoop hdfs上传文件 权限问题

    问题描述: hadoop在虚拟机中的linux系统下 在本地通过eclipse编写代码把本地文件上传至hadoop平台的指定目录 代码如下: @Test public void upload() th ...

  8. 【解决】AWS服务控制台中上传文件失败

    使用IE 11,在 AWS Services Console 中不管是 S3 还是 Elastic Beanstalk 的页面中上传页面都会失败,提示信息如下: A problem occurred ...

  9. 上传文件到hdfs注意事项

    我在MapReduceInput下创建CFItemSet文件夹,下面有itemSet.txt. 我想上传到cf下,然后想着hdfs上会显示cf/itemSet.txt. hdfs dfs -put i ...

随机推荐

  1. Asp.Net Core使用MongoDB

    MongoDB 是一个基于分布式且面向文档存储的开源 NoSql数据库系统 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它支持的数据结构 ...

  2. Git 使用中遇见的各种问题及解决办法

    一.修改提交代码的用户名以及提交邮箱,(推荐使用方法2,一劳永逸) 方法1(修改.git/config文件): step1:进入工程.git文件夹 step2:vim config step3:末行添 ...

  3. 6.自定义view-侧边字母导航LetterNavigationBar

    1.效果 2.实现原理 1.绘制右侧的字母 2.onTouchEvent 中获取点击.滑动的位置,在通过invalidate() 去重新绘制, ​ 回调给activity去处理中间显示的文字 核心代码 ...

  4. 在vue cli3.0 里面下载less,下载成功了还是提示没有 需要下载

    今天正好新建了一个项目,在用less的时候就各种花样报错提示我: Failed to resolve loader: less-loaderYou may need to install it.Err ...

  5. Mybatis【8】-- Mybatis返回List或者Map以及模糊查询怎么搞?

    使用mybatis的时候,经常发现一个需求,我怎么知道自己是不是增加/修改/删除数据成功了? 好像执行sql之后都没有结果的.其实不是的,增删改的sql执行之后都会有一个int类型的返回值,表示的意思 ...

  6. c#——ToString()的各种用法

    ToString()的各种用法 string str = ""; str = 123456.ToString("N"); //生成 12,3456.00 str ...

  7. [leetcode]205. Isomorphic Strings同构字符串

    哈希表可以用ASCII码数组来实现,可以更快 public boolean isIsomorphic(String s, String t) { /* 思路是记录下每个字符出现的位置,当有重复时,检查 ...

  8. 茅坑杀手与Alias Method离散采样

    说起Alias,你可能第一个联想到的是Linux中的Alias命令,就像中世纪那些躲在茅坑下面(是真的,起码日本有粪坑忍者,没有马桶的年代就是社会的噩梦)进行刺杀的杀手一样,让人防不胜防,对于那些被这 ...

  9. 解决MySQL Workbench导出低版本MySQL时报错Unknown table ‘column_statistics’ in information_schema的问题

    在使用高版本MySQL Workbench或MySQL 8.0+版本提供的mysqldump.exe(实际高版本的MySQL Workbench使用的也是高版本的mysqldump.exe)来导出低于 ...

  10. linux security module机制

    linux security module机制 概要 Hook机制,linux MAC的通用框架,可以使用SElinux, AppArmor,等作为不同安全框架的实现