写入中文字符乱码

Posted alavender

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了写入中文字符乱码相关的知识,希望对你有一定的参考价值。

最近在项目开发中用到sftp来进行文件传输,最初的想法是用public OutputStream put(String dst)向该输出流中写入数据,最终将数据传输到目标服务器,结果被中文乱码困扰了好久,后面转念一想其实可以先写文件,在写文件的时候对编码进行设置,然后采用public void put(String src, String dst)直接传文件,试了一下,果真没有乱码了。

写文件:

......
String string = "字符串写入";
File destFile = new File(srcfile);
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(destFile),"UTF-8");
BufferedWriter bwriter = new BufferedWriter(writer);
bwriter.write(string);
bwriter.close();
sftp.put(srcfile,destfile);
......

读文件:

......
InputStream in = sftp.get(destfile);
JSONParser jp = new JSONParser();
JSONObject jo = (JSONObject)jp.parse(new InputStreamReader(in,"UTF-8"));
......

 

以上是关于写入中文字符乱码的主要内容,如果未能解决你的问题,请参考以下文章

将字符串向hdfs中写入,出现中文乱码!

如何在管道上使用 WriteFile 修复乱码文本?

hibernate mysql写入中文乱码 解决

java写入mysql数据库乱码

java 写入txt文件的中文乱码是怎么回事?

Mariadb 数据库写入中文乱码问题