- 引入配置文件
//引入配置文件
Configuration conf=null;
//创建文件流——引用的是hadoop内部封装的方法
FileSystem fs=null;
- 设置执行前后
@Before
public void conn() throws IOException{
conf = new Configuration(true);//设置是否读取配置信息
fs = FileSystem.get(conf);
}
@After
public void close() throws IOException{
fs.close();
}
创建文件夹
//常用的有创建,删除,重命名,判断是否存在 上传下载
@Test
public void mkdir() throws Exception{
Path f = new Path("/aaa/aa.txt");
//判断是否存在
if(fs.exists(f)){
//删除
fs.delete(f);
}
//删除
fs.mkdirs(f);
}
判断文件是否存在
@Test
public void exist() throws IOException{
Path f = new Path("/aaa");
boolean exists = fs.exists(f);
System.out.println(exists);
}
重命名
@Test
public void rn() throws IOException{
Path p1 = new Path("/aaaa.txt");
Path p2 = new Path("/aaaaa.txt");
boolean rename = fs.rename(p1, p2);
System.out.println(rename);
}
上传
@Test
public void uploadFile() throws IOException{
//输出位置
Path inputFile=new Path("/abcc.txt");
//相当于文件内容的输出
FSDataOutputStream output = fs.create(inputFile);
//输入位置,相当于文件内容的输入
InputStream input=new BufferedInputStream(new FileInputStream(new File("D:\\Timsh.tpc")));
IOUtils.copyBytes(input, output, conf, true);
}
下载
@Test
public void downloadFile() throws IOException{
Path src = new Path("/aaaaa.txt");
FSDataInputStream open = fs.open(src);
FileOutputStream output = new FileOutputStream("D://qwe.txt");
IOUtils.copyBytes(open, output, conf,true);
}