java读写hdfs简单demo,javahdfsdemo


环境:eclipse + eclipse hadoop插件, hadoop + rhel6.4

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


 

相关内容