查看: 836|回复: 3

[other] HDFS基本JavaAPI,创建(删除)文件(夹),上传(下载),重命名,获取文件信息

[复制链接]
  • TA的每日心情
    无聊
    2016-12-1 15:20
  • 签到天数: 668 天

    连续签到: 3 天

    [LV.9]以坛为家II

    发表于 2015-9-6 22:44:16 | 显示全部楼层 |阅读模式
    本帖最后由 忘忧的记忆 于 2015-9-6 22:53 编辑
    1. package com.ddy.hadoop.hdfs;
    2. //  由于限制,没有注释 ,基本根据 单词意思也可以推测出来
    3. import java.io.FileNotFoundException;
    4. import java.io.IOException;
    5. import java.net.URI;

    6. import org.apache.hadoop.conf.Configuration;
    7. import org.apache.hadoop.fs.FileStatus;
    8. import org.apache.hadoop.fs.FileSystem;
    9. import org.apache.hadoop.fs.Path;


    10. public class HDFSUtil {

    11.         private FileSystem hdfs;

    12.         public HDFSUtil() {

    13.                 String uri = "hdfs://192.168.133.156:8020";
    14.                 Configuration conf = new Configuration();
    15.                 try {
    16.                         hdfs = FileSystem.get(URI.create(uri), conf);
    17.                 } catch (IOException e) {
    18.                         e.printStackTrace();
    19.                 }
    20.         }


    21.         public boolean mkdir(String path) {
    22.                 boolean b = false;
    23.                 try {
    24.                         b = hdfs.mkdirs(new Path(path));
    25.                 } catch (IOException e) {
    26.                         e.printStackTrace();
    27.                 }
    28.                 return b;
    29.         }


    30.         public boolean delete(String path) {
    31.                 boolean b = false;
    32.                 Path f = new Path(path);
    33.                 try {
    34.                         if (hdfs.exists(f)) {
    35.                                 b = hdfs.delete(f, true);
    36.                         }
    37.                 } catch (IOException e) {
    38.                         e.printStackTrace();
    39.                 }

    40.                 return b;
    41.         }

    42.         
    43.         public void copyFromLocalFile(String src, String dst) {
    44.                 try {
    45.                         hdfs.copyFromLocalFile(new Path(src), new Path(dst));
    46.                 } catch (IOException e) {
    47.                         e.printStackTrace();
    48.                 }
    49.         }


    50.         public void copyToLocalFile(String src, String dst) {
    51.                 try {
    52.                
    53.                         hdfs.copyToLocalFile(false, new Path(src),new Path( dst), true);
    54.                 } catch (IOException e) {
    55.                         e.printStackTrace();
    56.                 }
    57.         }

    58.         public void listStaties(String path){
    59.                 try {
    60.                         FileStatus[] status = hdfs.listStatus(new Path(path));
    61.                         for (FileStatus fileStatus : status) {
    62.                                 System.out.println(fileStatus.toString());
    63.                         }               
    64.                 } catch (FileNotFoundException e) {
    65.                         e.printStackTrace();
    66.                 } catch (IOException e) {
    67.                         e.printStackTrace();
    68.                 }
    69.         }
    70.         

    71.         public void rename(String src, String dst){
    72.                 try {
    73.                         hdfs.rename(new Path(src), new Path(dst));
    74.                 } catch (IllegalArgumentException e) {
    75.                         e.printStackTrace();
    76.                 } catch (IOException e) {
    77.                         e.printStackTrace();
    78.                 }
    79.         }
    80.         

    81. }
    复制代码
  • TA的每日心情
    擦汗
    2017-2-9 18:32
  • 签到天数: 73 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2015-9-10 22:50:54 | 显示全部楼层
    感谢分享

    点评

    只是简单的API, 看 官方给的API就行 ,我这里写的有的不是很好  详情 回复 发表于 2015-9-10 23:03
  • TA的每日心情
    无聊
    2016-12-1 15:20
  • 签到天数: 668 天

    连续签到: 3 天

    [LV.9]以坛为家II

     楼主| 发表于 2015-9-10 23:03:23 | 显示全部楼层
    li60240 发表于 2015-9-10 22:50
    感谢分享

    只是简单的API,  看 官方给的API就行 ,我这里写的有的不是很好
  • TA的每日心情
    无聊
    2017-8-26 00:38
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2016-4-19 07:24:37 | 显示全部楼层
    说实话,我发现我现在更喜欢Java
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    站长推荐上一条 /1 下一条