当前位置:   article > 正文

大数据技术原理与应用 实验二HDFS文件系统操作与编程 基于java的HDFS文件操作(扩展实验2)_编程实现一个类“myfsdatainputstream”,该类继承“org.apache.hadoo

编程实现一个类“myfsdatainputstream”,该类继承“org.apache.hadoop.fs.fsdatai

(1)编程实现一个类“MyFSDataInputStream”,该类继承“org.apache.hadoop.fs.FSDataInputStream”,要求如下:实现按行读取HDFS中指定文件的方法“readLine()”,如果读到文件末尾,则返回空,否则返回文件一行的文本。
记得启动hadoop
代码如下:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.*;
public class MyFSDataInputStream extends FSDataInputStream {
   
	public MyFSDataInputStream(InputStream in) {
   
		super(in);
	}
	/** 
		*实现按行读取
		*每次读入一个字符,遇到"n"结束,返回一行内容
		*/
	public static String readline(BufferedReader br) throws IOException {
   
		char[] data = new char[1024];
		int read = -1;
		int off = 0; //循环执行时,br每次会从上- -次读取结束的位置继续读取,因此该函数里,off每次都从0开始
		while ( (read = br.read(data, off, 1)) != -1 ) {
   
			if (String.valueOf(data[off]).equals("\n") ) {
   
			off += 1;
			break
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/650839
推荐阅读
相关标签
  

闽ICP备14008679号