InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。
InputStreamReader(InputStream in)
InputStreamReader(InputStream in, String charsetName)
 
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。
OutputStreamWriter(OutputStream out)
OutputStreamWriter(OutputStream out, String charsetName)

//普通文件的字符转码IO,标准IO
//读
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream),"charsetName");
//写
BufferedWriter bw = new BufferedWriter(new OutputStreamwWriter(new FileOutputStream),"charsetName");

//hadoop下IO加转码
//读
FSDataInputStream fsDataInputStream = FileSystem.get(conf).open(path);
BufferedReader br = new BufferedReader(new InputStreamReader(fsDataInputStream,"charsetName"));
//写
FSDataOutputStream fsDataOutputStream = FileSystem.get(conf).create(path);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fsDataOutputStream, "charsetName"));

//使用hadoop自带LineReader工具
LineReader lineReader = new LineReader(FileSystem.get(conf).open(new Path(file)));
Text text = new Text();//注意此处应该实例化Text,见下图
while (lineReader.readLine(text) > 0){
//自己实现

}

参考文献:http://blog.csdn.net/waldmer/article/details/13503867

hadoop文件IO的更多相关文章

  1. Hadoop的IO操作

    Hadoop的API官网:http://hadoop.apache.org/common/docs/current/api/index.html   相关的包 org.apache.hadoop.io ...

  2. hadoop 文件参数配置

    准备环境(省略) 上传实验所需的压缩包 配置网络信息 修改主机名 配置域名解析 关闭防火墙与SELinux(在所有节点上执行)代码如下: systemctl disable --now firewal ...

  3. 标准io与文件io

    A: 代码重复: 语句块1: while(判断) { 语句块2: 语句块1: } 上面可以改写为: while(1) { 语句块1: if(判断) break: 语句块2: } B: 标准IO和文件I ...

  4. 文件IO函数和标准IO库的区别

    摘自 http://blog.chinaunix.net/uid-26565142-id-3051729.html 1,文件IO函数,在Unix中,有如下5个:open,read,write,lsee ...

  5. 转 漫谈linux文件IO

    在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO.本篇文件打算详细全面,深入浅出.剖析文件IO的细节.从多个角度探索如何提高IO性能.本文尽量用 ...

  6. (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO

    . . . . . 目录 (一) 一起学 Unix 环境高级编程 (APUE) 之 标准IO (二) 一起学 Unix 环境高级编程 (APUE) 之 文件 IO (三) 一起学 Unix 环境高级编 ...

  7. Java文件IO操作应该抛弃File拥抱Paths和Files

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem; ...

  8. Java 文件IO续

    文件IO续 File类    用来将文件和文件夹封装成对象 方便对文件和文件夹的属性信息进行操作    File对象可以作为参数传递给流的构造函数 Demo1 File的构造方法 public cla ...

  9. Java 文件IO

    文件IO Java IO    IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的对象都在IO包中    按操作数据分为 字节流和字符流        字符流的 ...

随机推荐

  1. ES6 实现阶乘

    // 实现一个5的阶乘function factorial(n, acc = 1) { console.log(`n=${n};acc=${acc}`) if(n <= 1) return ac ...

  2. linux 压缩以及解压命令

    转载:http://blog.csdn.net/mmllkkjj/article/details/6768294/ tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件- ...

  3. Docker入门使用

    先来一波docker的指令:      docker inspect 容器id  查询容器信息      docker stop  容器id  停止容器id      docker rm  容器id ...

  4. 基于 CodeIgniter 的各类开源项目大全

    名称:STBlog 介绍:STBlog 是一套由CI中国社区驱动,基于Codeigniter MVC 框架编写的多权限博客系统,轻巧/快速/安全/易拓展/界面友好是它的最大特点. 官方:http:// ...

  5. spark SQL学习(load和save操作)

    load操作:主要用于加载数据,创建出DataFrame save操作:主要用于将DataFrame中的数据保存到文件中 代码示例(默认为parquet数据源类型) package wujiadong ...

  6. Hibernate -- 配置c3p0连接池, 事务隔离级别, 管理session

    知识点1:配置c3p0连接池(了解) * 引入c3p0-0.9.1.jar * 在hibernate.cfg.xml文件中增加如下配置 <!-- C3P0连接池设定--> <!-- ...

  7. C语言排序算法之简单交换法排序,直接选择排序,冒泡排序

    C语言排序算法之简单交换法排序,直接选择排序,冒泡排序,最近考试要用到,网上也有很多例子,我觉得还是自己写的看得懂一些. 简单交换法排序 /*简单交换法排序 根据序列中两个记录键值的比较结果来对换这两 ...

  8. 关于分析web.xml的一篇博客,写的很详细

    http://blog.csdn.net/believejava/article/details/43229361

  9. Python 模块引入,脚本执行

    引入模块 创建一个fibo.py def fib(n): # write Fibonacci series up to n a, b = 0, 1 while b < n: print b a, ...

  10. python学习笔记(threading接口性能压力测试)

    又是新的一周 延续上周的进度 关于多进程的学习 今天实践下 初步设计的接口性能压力测试代码如下: #!/usr/bin/env python # -*- coding: utf_8 -*- impor ...