
删除文件或目录。
清单 9. JavaApi 删除文件或目录
- @Test
- public void delete() throws IOException {
- fs.delete(new Path("/test/api"), false);
- }
- @Test
- public void deleteNonEmptyDir() throws IOException {
- fs.delete(new Path("/test"), true);
- }
我们可以看到 fs.delete()这个方法有两个参数,第一个参数很好理解,就是我们要删除的目录或者文件的地址。那么第二个 Boolean 类型的参数呢,如果删除的是文件或者空目录这个参数实际上是会被忽略的,如果删除的是非空目录,只有在这个参数值为 true 的时候才会成功删除。
创建文件和文件写入。
我们通过 FileSystem.create()方法来创建一个文件,这个方法会顺带着创建不存在的父级目录,如果不需要这个的话,最好是在创建之前调用 exists()方法来判断一下,如果父级目录不存在直接报错即可。
清单 10. JavaApi 创建文件和文件写入
- @Test
- public void create() throws IOException {
- FSDataOutputStream out = null;
- try {
- out = fs.create(new Path("/test/api/test.txt"));
- out.writeChars("hello hdfs.");
- } finally {
- IOUtils.closeStream(out);
- }
- }
文件创建好后,可以通过 append()方法在文件末尾添加内容。
清单 11. JavaApi 追加文件内容
- @Test
- public void append() throws IOException {
- FSDataOutputStream out = null;
- try {
- out = fs.append(new Path("/test/api/test.txt"));
- out.writeChars("hello hdfs.");
- } finally {
- out.close();
- }
- }
从本地上传文件到 HDFS。
清单 12. JavaApi 上传文件至 HDFS
- @Test
- public void copyFromLocal() throws IOException {
- fs.copyFromLocalFile(new Path("d:/local.txt"), new Path("/test/api"));
- }
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-94214-4.html
放在衣柜的抽屉里