hdfs java api操作

来源:互联网 发布:军用超短波电台软件 编辑:程序博客网 时间:2024/05/12 16:15
/**     * 创建一个新文件(此程序可以升级putMerge功能)     * @param filename     * @param content     * @throws IOException     */    public static void newFile(String filename, byte[] content) throws IOException{        Configuration conf = new Configuration();        FileSystem fileSystem = FileSystem.get(conf);         Path filePath = new Path(filename);        FSDataOutputStream outputStream = fileSystem.create(filePath);         outputStream.write(content);        outputStream.close();        fileSystem.close();        System.out.println("创建文件成功!");    }     /**     * 上传文件     * @param localPath     * @param hdfsPath     * @throws IOException     */    public static void uploadFile(String localPath, String hdfsPath) throws IOException{        Configuration configuration = new Configuration();        FileSystem fileSystem = FileSystem.get(configuration);         Path src = new Path(localPath);        Path dst = new Path(hdfsPath);        //fileSystem.copyFromLocalFile(src, dst);        //第一个false,是否删除原文件;第二个false,是否overwrite。        fileSystem.copyFromLocalFile(false, false, src, dst);        fileSystem.close();    }     /**     * 重命名     * @param oldName     * @param newName     * @throws IOException     */    public static void rename(String oldName,String newName) throws IOException{        Configuration configuration = new Configuration();        FileSystem fileSystem = FileSystem.get(configuration);         Path oldPath = new Path(oldName);        Path newPath = new Path(newName);         boolean isSuccess = fileSystem.rename(oldPath, newPath);        if (isSuccess) {            System.err.println("成功");        }        else {            System.err.println("失败");        }        fileSystem.close();    }     /**     * 删除文件操作     * @param filePath     * @throws IOException     */    public static void delete(String filePath) throws IOException{        Configuration configuration = new Configuration();        FileSystem fileSystem = FileSystem.get(configuration);        Path hdfspath = new Path(filePath);        fileSystem.deleteOnExit(hdfspath);        fileSystem.close();    }     /**     * 创建目录     * @throws IOException     */    public static void mkdir(String dirPath) throws IOException{        Configuration configuration = new Configuration();        FileSystem fileSystem = FileSystem.get(configuration);        Path path = new Path(dirPath);        boolean isSuccess = fileSystem.mkdirs(path);        if (isSuccess) {            System.err.println("创建目录成功!");        }else {            System.err.println("创建目录失败!");        }        fileSystem.close();    }     public static void readFile(String filePath) throws IOException{        Configuration configuration = new Configuration();        FileSystem fs = FileSystem.get(configuration);        Path path = new Path(filePath);        InputStream in = null;        in = fs.open(path);        IOUtils.copyBytes(in, System.out, 4096);        IOUtils.closeStream(in);        fs.close();//TODO: ?    }

原创粉丝点击