准备工作:
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