准备工作: Hadoop环境变量配置 jdk环境变量配置 不详细演讲 下面直接演示代码:(如下)

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.IOUtils;

import org.junit.Before;

import java.io.File;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.net.URI;

import org.apache.hadoop.fs.FileSystem;

import org.junit.Test;

/**

* @ClassName:Java_HDFS

* @Description:TODO

* @author:Li Wei Ning

* @Date:2022/4/16 8:40

*/

public class Java_HDFS {

/**

* 定义文件系统,类变量

*/

FileSystem fs = null;

/**

* 预处理,@Test之前

*/

@Before

public void init(){

try {

fs = FileSystem.get(new URI("hdfs://192.168.47.128:9000"),new Configuration(),"root");

}catch (Exception e){

e.printStackTrace();

}finally {

System.out.println("成功!!!");

}

}

/**

* 打印文件系统

*/

@Test

public void printFs(){

System.out.println(fs);

}

/**

* 创建文件

*/

@Test

public void mkdir(){

try {

boolean ret = fs.mkdirs(new Path("/abc"));

System.out.println(ret);

}catch (Exception e){

e.printStackTrace();

}

}

/**

* 上传文件

*/

public void put(){

try {

fs.copyFromLocalFile(new Path("D:/1.txt"),new Path("/1.txt"));

}catch (Exception e){

e.printStackTrace();

}

}

/**

* 重命名

*/

@Test

public void rename(){

try {

if(fs.exists(new Path("/s1.txt"))){

System.out.println(fs.rename(new Path("s1.txt"),new Path("/s2.txt")));

}

}catch (Exception e){

e.printStackTrace();

}

}

/**

* 下载

*/

public void downLoad(){

try {

InputStream in = fs.open(new Path("/123.txt"));

FileOutputStream out = new FileOutputStream(new File("D:/123.txt"));

IOUtils.copyBytes(in,out,2048,true);

}catch (Exception e){

e.printStackTrace();

}

}

}

W

精彩链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。