对HDFS文件系统文件的读、写、删操作

HDFS文件系统是Hadoop的分布式文件系统,HadoopAPI中提供了一些方法,以便在编程的时候向HDFS中写入和读出文件。

下面通过一个例子来说明:

public static void readAndWrite(){

Configuration conf = new Configuration();//获得conf对象,以便能够获得配置文件的信息

FileSystem fs;

try {

fs = FileSystem.get(

URI.create(conf.get("fs.default.name")), conf);

//读取HDFS系统中的一个文件

InputStream input =fs.open(new Path("/user/root/urlLib/ftpurl"));

byte [] b= new byte[1024];

input.read(b, 0,b.length);

String s =new String(b);

system.out.println(s);

input.close();

//将刚刚读出来的字符串再写入到HDFS系统中

OutputStream out = fs.create(new Path(/user/root/urlLib/ftpurl2), true);

out.write(s.getBytes());

out.flush();

out.close();

//user/root/urlLib/ftpurl这个文件删除

fs.delete(new Path("/user/root/urlLib/ftpurl") , true);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

这个过程和普通的文件读写类似,唯一不同的就是通过HadoopFileSystem来获取读写流,以便在读写的时候能够将文件写入到HDFS系统中。

你可能感兴趣的:(hdfs)