Java读写HDFS简单Demo
package test;
import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;;
public class Test {
?
?
?public void WriteFile(String hdfs) throws IOException {
? Configuration conf = new Configuration();
? FileSystem fs = FileSystem.get(URI.create(hdfs),conf);
? FSDataOutputStream hdfsOutStream = fs.create(new Path(hdfs));
? hdfsOutStream.writeChars("hello");
? hdfsOutStream.close();
? fs.close();?
?}
?
?public void ReadFile(String hdfs) throws IOException {
? Configuration conf = new Configuration();
? FileSystem fs = FileSystem.get(URI.create(hdfs),conf);
? FSDataInputStream hdfsInStream = fs.open(new Path(hdfs));
?
? byte[] ioBuffer = new byte[1024];
? int readLen = hdfsInStream.read(ioBuffer);
? while(readLen!=-1)
? {
? ?System.out.write(ioBuffer, 0, readLen);
? ?readLen = hdfsInStream.read(ioBuffer);
? }
? hdfsInStream.close();
? fs.close();?
?}
?
?public static void main(String[] args) throws IOException {?
? String hdfs = "hdfs://192.168.56.112:9000/test/hello.txt";
? Test t = new Test();?
? t.WriteFile(hdfs);
? t.ReadFile(hdfs);
? }
}
--------------------------------------分割线 --------------------------------------
--------------------------------------分割线 --------------------------------------