Java读写HDFS简单Demo

环境:Eclipse + Eclipse Hadoop插件, Hadoop + RHEL6.4

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);
  }
}

--------------------------------------分割线 --------------------------------------

--------------------------------------分割线 --------------------------------------

相关推荐