读取指定偏移量的数据

迈不过友情╰ 2021-07-25 17:21 497阅读 0赞
  1. import java.io.BufferedReader;
  2. import java.io.FileInputStream;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.net.URI;
  6. import java.net.URISyntaxException;
  7. import java.util.Arrays;
  8. import org.apache.hadoop.conf.Configuration;
  9. import org.apache.hadoop.fs.FSDataInputStream;
  10. import org.apache.hadoop.fs.FSDataOutputStream;
  11. import org.apache.hadoop.fs.FileStatus;
  12. import org.apache.hadoop.fs.FileSystem;
  13. import org.apache.hadoop.fs.LocatedFileStatus;
  14. import org.apache.hadoop.fs.Path;
  15. import org.apache.hadoop.fs.RemoteIterator;
  16. import org.junit.Before;
  17. import org.junit.Test;
  18. public class HdfsClientDemo {
  19. FileSystem fs = null;
  20. @Before
  21. public void init() throws Exception {
  22. Configuration conf = new Configuration();
  23. conf.set("dfs.replication", "2");
  24. conf.set("dfs.blocksize", "64m");
  25. fs = FileSystem.get(new URI("hdfs://192.168.228.130:9000/"), conf, "root");
  26. }
  27. /**
  28. * 读取hdfs中文件的指定偏移量范围的内容
  29. * 从第12个字节开始读,读16个字节
  30. *
  31. *
  32. * @throws IOException
  33. * @throws IllegalArgumentException
  34. */
  35. @Test
  36. public void testRandomReadData() throws IllegalArgumentException, IOException {
  37. FSDataInputStream in = fs.open(new Path("/xx.dat"));
  38. // 将读取的起始位置进行指定
  39. in.seek(12);
  40. // 读16个字节
  41. byte[] buf = new byte[16];
  42. in.read(buf);
  43. System.out.println(new String(buf));
  44. in.close();
  45. fs.close();
  46. }
  47. }

发表评论

表情:
评论列表 (有 0 条评论,497人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数组元素偏移

    在网上看了一些博客和资料总结一下,如有错误,请不要点赞。   数组偏移量的定义:当前数组元素的地址与数组首地址的差值。 举例:一维数组: 一维数组:a\[n\]