学习时候的代码,仅供复习使用
package com.ligy.hadoop.hdfs;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import org.junit.Before;
import org.junit.Test;
/**
* HDFS客户端的简单实例
* @author gyli
*
*/
public class HDFSClient {
private FileSystem fs = null;
/**
* 初始化文件系统
* @throws IOException
* @throws InterruptedException
* @throws URISyntaxException
*/
@Before
public void getFs() throws IOException, InterruptedException, URISyntaxException {
Configuration conf = new Configuration();
conf.addResource(new Path("core-site.xml"));
fs = FileSystem.get(new URI("hdfs://master:9000/"), conf, "root");
}
/**
* 上传文件
* @throws IllegalArgumentException
* @throws IOException
*/
@Test
public void testUplocad() throws IllegalArgumentException, IOException {
fs.copyFromLocalFile(new Path("F:\\Software\\javatools\\hadoop-2.6.0.tar.gz"), new Path("/"));
}
/**
* 删除文件
* @throws IllegalArgumentException
* @throws IOException
*/
@Test
public void testRmFile() throws IllegalArgumentException, IOException {
System.out.println("RmFile : " + fs.delete(new Path("/jdk.tgz"), true));
}
/**
* 创建文件
* @throws IllegalArgumentException
* @throws IOException
*/
@Test
public void testMkdir() throws IllegalArgumentException, IOException {
System.out.println("mkdir : " + fs.mkdirs(new Path("/aa/bb/cc/dd/ee")));
}
/**
* 修改文件名称
* @throws IllegalArgumentException
* @throws IOException
*/
@Test
public void testRename() throws IllegalArgumentException, IOException {
System.out.println("rename : " + fs.rename(new Path("/cc"), new Path("/dd")));
}
/**
* 查看文件目录
* @throws FileNotFoundException
* @throws IllegalArgumentException
* @throws IOException
*/
@Test
public void testListFile() throws FileNotFoundException, IllegalArgumentException, IOException {
RemoteIterator<LocatedFileStatus> listFiles = fs.listFiles(new Path("/"), true);
while(listFiles.hasNext()) {
LocatedFileStatus file = listFiles.next();
System.out.println("fileName : " + file.getPath().getName());
}
System.out.println("---------------------------");
FileStatus[] fileStatuses = fs.listStatus(new Path("/"));
for (int i = 0; i < fileStatuses.length; i++) {
System.out.println("fileName : " + fileStatuses[i].getPath().getName());
}
}
/**
* 下载文件
* @throws IllegalArgumentException
* @throws IOException
*/
@Test
public void testDownload() throws IllegalArgumentException, IOException {
fs.copyToLocalFile(false, new Path("/jdk-7u55-linux-x64.gz"), new Path("D:\\"), true);
}
}