将字符串向hdfs中写入,出现中文乱码!
jsonObject.toString():需要处理的json对象转成的字符串
"/testData/ExtractKWByOnce.txt":写入hdfs中的目标路径
try {
Configuration configuration=new Configuration();
InputStream inputStream=new BufferedInputStream(
new ByteArrayInputStream(jsonObject.toString().getBytes("")) );//打开一个BufferedInputStream字节输入流 FileSystem fs=FileSystem.get(URI.create("hdfs://localtion:8020"),configuration);
//这里是creat()方法表示新创建一个文件,如果想在一个文件上追加,请用append()方法。
FSDataOutputStream fsDataOutputStream=fs.create(new Path("/testData/ExtractKWByOnce.txt"));
IOUtils.copyBytes(inputStream,fsDataOutputStream,1024,true); fsDataOutputStream.close();
fs.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
用此方法可能会出现 中文乱码问题,hdfs上的文件和自己期待存入的内容有差异。
可以在 jsonObject.toString().getBytes("") 处将我们的编码格式指定为:
jsonObject.toString().getBytes("GBK")
基本可以解决问题
----------------------------------------------------------------------------------------------------------------------------
今日发现,在GBK编码下,从浏览器直接打开hdfs文件不会出现乱码,但是在shell终端通过#>hdfs dfs -cat xxx 命令打开的hdfs文件出现了乱码问题。
将编码改回UTF-8,从浏览器直接打开hdfs文件会出现乱码,但是在shell终端通过#>hdfs dfs -cat xxx 命令打开的hdfs文件不出现乱码。
所以具体选择哪种编码,要看实际需求。
将字符串向hdfs中写入,出现中文乱码!的更多相关文章
- 写入MySQL中文乱码问题
相信使用数据库进行存储的大家都遇到过中文乱码问题,如何彻底解决?我百度了很多资料与博客,想把自己的经历总结起来给大家参考一下,接下来我先罗列一下大部分修改乱码问题的方法: 1. 修改MySQL数据 ...
- RStudio中,出现中文乱码问题的解决方案
RStudio中,出现中文乱码问题的解决方案解决步骤:1.设置RStudio文本显示的默认编码:RStudio菜单栏的Tools -> Global Options2.选择General -&g ...
- git status 显示中文和解决中文乱码
目录 git status 显示中文和解决中文乱码 解决git status不能显示中文 解决git bash 终端显示中文乱码 通过修改配置文件来解决中文乱码 git status 显示中文和解决中 ...
- 关于jFinal开发中遇到的中文乱码问题解决办法
关于jFinal开发中遇到的中文乱码问题解决办法 设置tomcat的编码,修改 <Connector port="8080" protocol="HTTP/1.1& ...
- Windows平台下在Emacs中使用plantuml中文乱码问题(已解决)
Windows平台下在Emacs中使用plantuml中文乱码问题(已解决) */--> code {color: #FF0000} pre.src {background-color: #00 ...
- 在Visual Studio Code 中配置Python 中文乱码问题
在Visual Studio Code 中配置Python 中文乱码问题 方法一:直接代码修改字符集 添加前四行代码 import io import sys #改变标准输出的默认编码 sys.std ...
- java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别
这里先写几个大家容易搞混的编码设置代码: 在jsp代码中的头部往往有这两行代码 pageEncoding是jsp文件本身的编码contentType的charset是指服务器发送给客户端时的内容编码J ...
- Web(Jsp+ Servlet)开发中如何解决中文乱码问题
1.中文乱码的成因 编码的字符集和解码的字符集不一致. 2.web开发过程中可能出现的乱码的位置及解决方案 ①request乱码 在向服务器传递数据时,所传递的中文有可能出现乱码. post请求(协议 ...
- 关于mysql数据库插入数据,不能插入中文和出现中文乱码问题
首先,推荐一篇博客:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当时,我安装完mysql数据库后,新建一个数据库后插入数据 ...
随机推荐
- python-web自动化-Js-滚动条操作
滚动条操作:当待操作的元素在页面可是区域外时,要将待操作的元素滚动到可视区域当中 步骤:1.先找要将要操作的元素element = driver.find_element_by_xxxx(" ...
- Exp1 PC平台逆向破解 20164311
实验目标: 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getSh ...
- 团队作业-Week9-软件项目的风险
一.软件项目中的风险 软件项目的风险无非体现在以下四个方面:需求.技术.成本和进度.IT项目开发中常见的风险有如下几类: (1)需求风险 ①需求已经成为项目基准,但需求还在继续变化: ②需求定义欠佳, ...
- CentOS 6 端口白名单设置
通在/etc/sysconfig/iptables文档中添加端口白名单,命令如下(编辑好后 esc->wq 保存退出): vi /etc/sysconfig/iptables 添加好后重启防火墙 ...
- python-day6面向对象、类的继承
@面向对象三大特性:封装encapsulation.继承inheritance.多态(一个接口,多个实现)polymorphism. @面向对象介绍http://www.cnblogs.com/ale ...
- Photoshop CC安装与破解方法
下载Photoshop CC与破解补丁 破解补丁就一个文件,amtlib.dll 断网安装Photoshop CC,提示登录选择稍后登录即可 安装成功后将破解补丁安装根目录的amtlib.dll替换即 ...
- 远程git仓库的搭建
具体的操作见另一篇 第一部分: 安装 1. 下载地址: https://git-scm.com/download/win; 如果速度慢, 使用 迅雷下载; 2. 点击安装, 然后下一步, 直到下面这 ...
- Win10远程桌面 出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法
升级至win10 最新版本18362,远程桌面连接Window Server时报错信息如下: 出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密Oracle修正. 解决方法: 运行 g ...
- 图解BERT(NLP中的迁移学习)
目录 一.例子:句子分类 二.模型架构 模型的输入 模型的输出 三.与卷积网络并行 四.嵌入表示的新时代 回顾一下词嵌入 ELMo: 语境的重要性 五.ULM-FiT:搞懂NLP中的迁移学习 六.Tr ...
- CSS 图像高级 Css Sprites
上节课中我们学习了背景图像,这节课我们学习背景图像的高级知识,如Css Sprites,CSS 背景渐变等. Css Sprites Css Sprites,国内也叫CSS精灵.它的原理是将许多的小图 ...