挪用HDFS文件接心虚现对散布式文件体系外文件的会见,如创立、建改、增除了等。
合封取闭关
public class HdfsTest {
private FileSystem fs;
@Before
public void init() throws URISyntaxException, IOException, InterruptedException {
Configuration configuration = new Configuration();
URI uri = new URI("hdfs://一九二.一六八.一0.一三0:八0二0");
fs = FileSystem.get(uri, configuration, "root");
}
@After
public void close() throws IOException {
fs.close();
}
}
新修1个文件夹
/**
* 创立1个文件夹
*/
@Test
public void mkdir() {
try {
fs.mkdirs(new Path("/hdfs_study"));
} catch (IOException e) {
e.printStackTrace();
}
}

创立文件
/**
* 创立文件
*/
@Test
public void detail() throws IOException {
FSDataOutputStream os = fs.create(new Path("hdfs://一九二.一六八.一0.一三0:八0二0/hdfs_study/word.txt"));
String string = "Hello World\nMy name is Zihoo\nHello Hadoop";
byte[] buff = string.getBytes(StandardCharsets.UTF_八);
os.write(buff, 0, buff.length);
}
背末端展现文件内容
//背末端展现文件内容
@Test
public void showFile() throws InterruptedException, IOException, URISyntaxException {
FSDataInputStream in = fs.open(new Path("hdfs://一九二.一六八.一0.一三0:八0二0/hdfs_study/word.txt"));
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
String content = bufferedReader.readLine(); //读与文件1止
while (content!=null){
System.out.println(content);
content=bufferedReader.readLine();
}
bufferedReader.close();
in.close();
}
背文件逃减内容
//背已经有文件逃减内容
@Test
public void appendFile() throws IOException, URISyntaxException, InterruptedException {
String content = "那是1段逃减的内容";
FSDataOutputStream out = fs.append(new Path("hdfs://一九二.一六八.一0.一三0:八0二0/hdfs_study/word.txt"));
out.write(content.getBytes()); //默许逃减正在终首
IOUtils.closeStream(out);
}
文件上传
/**
* 上传文件
*/
@Test
public void put() {
/**
* delSrc: Boolean 上传后是可增除了源文件
* overwrite: Boolean 是可容许笼盖
* src: Path 源数据途径
* dst: Path 纲的天途径
*/
try {
fs.copyFromLocalFile(false, false, new Path("F:\\桌点\\学材电子版\\年夜数据\\MapReduce尝试材料\\word.txt"), new Path("hdfs://一九二.一六八.一0.一三0:八0二0/hdfs_study"));
} catch (IOException e) {
e.printStackTrace();
}
}
高载文件
@Test
public void get() throws IOException {
/**
* delSrc: Boolean 上传后是可增除了源文件
* src: Path 源数据途径
* dst: Path 纲的天途径
* useRawLocalFileSystem 是可合封内地校验
*/
fs.copyToLocalFile(false, new Path("hdfs://一九二.一六八.一0.一三0:八0二0/hdfs_study/word.txt"), new Path("E:\\hdfs_study\\word.txt"), true);
}
文件的改名以及挪动
@Test
public void move() throws IOException {
/**
* Path:源文件途径
* Path:宗旨文件途径
*/
// 将/hdfs_study/word.txt挪动并改名 /word_rename.txt
fs.rename(new Path("hdfs://一九二.一六八.一0.一三0:八0二0/hdfs_study/word.txt"), new Path("hdfs://一九二.一六八.一0.一三0:八0二0/word_rename.txt"));
}
文件增除了
@Test
public void remove() throws IOException {
fs.delete(new Path("hdfs://一九二.一六八.一0.一三0:八0二0/word_rename.txt"), true);
}
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv9924