通过hadoopAPI访问文件

/**

 * 通过hadoop api访问

 * @throws IOException

 */

@Test

public void readFileByAPI() throws IOException{

Configuration conf = new Configuration();

conf.set("fs.defaultFS", "hdfs://192.168.75.201:8020/");

FileSystem fs = FileSystem.get(conf);

Path path = new Path("/user/index.html");

FSDataInputStream fis =fs.open(path);

byte[] bytes = new byte[1024];

int len = -1;

ByteArrayOutputStream baos = new ByteArrayOutputStream();

while((len = fis.read(bytes))!=-1){

baos.write(bytes, 0, len);

}

System.out.println(new String(baos.toByteArray()));

fis.close();

baos.close();

}

 

第二种方式:

/**

 * 通过hadoop api访问

 * @throws IOException

 */

@Test

public void readFileByAPI2() throws IOException{

Configuration conf = new Configuration();

conf.set("fs.defaultFS", "hdfs://192.168.75.201:8020/");

FileSystem fs = FileSystem.get(conf);

Path path = new Path("/user/index.html");

FSDataInputStream fis =fs.open(path);

ByteArrayOutputStream baos = new ByteArrayOutputStream();

IOUtils.copyBytes(fis, baos, 1024);

System.out.println(new String(baos.toByteArray()));

fis.close();

baos.close();

}

 

你可能感兴趣的:(通过hadoopAPI访问文件)