今天使用Bufferedrader ,单缓冲区的数据读取时出现的中文乱码的问题
1.使用这种方式可能出现的中文乱码代码:
/**
* 第三套********:使用BufferReader,单缓冲区的数据读取和写入(字符输入流)
* 读取
*/
FileReader frFileReader = null;
BufferedReader bWriter = null;
try {
frFileReader = new FileReader("D:NIO.txt");
bWriter = new BufferedReader(frFileReader);
//读取一行数据
String Line = bWriter.readLine();
while(Line!=null){
System.out.println(Line);
Line=bWriter.readLine();
} } catch (Exception e) {
e.printStackTrace();
}finally {
try {
bWriter.close();
frFileReader.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
2.实际出现中文乱码的代码:
BufferedReader br=null;
FileReader fr=null;
try { //在这里我遇到了中文问号乱码的问题
fr = new FileReader(upPath);
br = new BufferedReader(fr);
String line;
String fictionContent = new String();
while((line=bufr.readLine())!=null){
//将读取到一行一行数据使用concat方法连接起来
fictionContent = fictionContent.concat(line+"\r\n"); }
//测试:System.out.println(fictionContent);这里我做了测试后的代码为乱码
//作为传递小说内容的载体赋值media
media.setTxtContents(fictionContent);
//标记为上传
media.setIdentity(Identity.UPLOAD);
media.setFiction(upFiction);
oos.writeObject(media);
media = (Media) ois.readObject();
} catch (Exception e) {
e.printStackTrace();
}
3.解决方案
BufferedReader br=null;
try {
//通过文件路径读取到文件内容,然后传给服务器
InputStream in = new FileInputStream(upPath);
//将字节流向字符流的转换,utf-8格式也不行
InputStreamReader isr = new InputStreamReader(in,"gbk");
//创建字符流缓冲区
BufferedReader bufr = new BufferedReader(isr);//缓冲
//在这里我遇到了中文问号乱码的问题
//fr = new FileReader(upPath);
//br = new BufferedReader(fr);
String line;
String fictionContent = new String();
while((line=bufr.readLine())!=null){
//将读取到一行一行数据使用concat方法连接起来
fictionContent = fictionContent.concat(line+"\r\n"); }
//测试:System.out.println(fictionContent);没有乱码!
//作为传递小说内容的载体赋值media
media.setTxtContents(fictionContent);
//标记为上传
media.setIdentity(Identity.UPLOAD);
media.setFiction(upFiction);
oos.writeObject(media);
media = (Media) ois.readObject();
} catch (Exception e) {
e.printStackTrace();
}
今天使用Bufferedrader ,单缓冲区的数据读取时出现的中文乱码的问题的更多相关文章
- springBoot使用@Value标签读取*.properties文件的中文乱码问题
上次我碰到获取properties文件中的中文出现乱码问题. 查了下资料,原来properties默认的字符编码格式为asci码,所以我们要对字符编码进行转换成UTF-8格式 原先代码:@Proper ...
- 使用Kettle抽取数据时,出现中文乱码问题解决方案
使用Kettle在不同的数据库抽取数据时,有时会出现中文乱码问题:其解决方案如下: 1.查看数据库的字符集是否是UTF-8(最常用的字符集) 2.如果数据库设置正确仍然存在中文乱码,则可能是因为有的客 ...
- Springboot 之 解决IDEA读取properties配置文件的中文乱码问题
问题描述 当在.properties的配置文件中有中文时,读取出来的总是乱码.比如我的application.properties配置文件的内容如下: server.port=9090 test.ms ...
- 读取Properties文件以及中文乱码问题
在java类中常见的读取Properties文件方式,是使用Properties.load(inputStream);的方式但是常常出现中文乱码问题,这就很尴尬了 public synchronize ...
- JAVA本地读取文件,解决中文乱码问题
JAVA本地读取文件出现中文乱码,查阅一个大神的博客做一下记录 import java.io.BufferedInputStream;import java.io.BufferedReader;imp ...
- 【SQLite】教程09-VBA读取SQLite数据之ODBC,及中文乱码问题
VBA使用ODBC Driver for SQLite读SQLite 如下图有这么一个SQlite数据库,我们要读取它 需要先安装ODBC,可以从这里下载: SQLite 3 ODBC Driver ...
- FusionCharts制作报表使用XML导入数据时出现的中文乱码问题
今天在使用FusionCharts制作报表时用XML导入数据,总是出现乱码问题,下面是我的解决方案. 让FusionCharts支持中文 刚刚将XML导入到html中后,在火狐浏览器一直报Invali ...
- form表单用ge方式提交时ie显示中文参数乱码
有网友说 通过给form表单添加accept-charset="gb2312"和 onsubmit="document.charset='gb2312'" 但这 ...
- postgresql 导出csv格式的数据后使用excel打开中文乱码的问题
两种方法: 1>使用excel 的自文本导入功能,具体方法: 1) 打开 Excel 2) 执行“数据”->“自文本” 3) 选择 CSV 文件,出现文本导入向导 4) 选择“分隔符号”, ...
随机推荐
- pytest-mian函数运行
1.设置多并发运行 1.命令行安装 pip install pytest-xdist #安装插件,进行多并发运行,#调用:-n -5 import pytest # pytest.main([&quo ...
- 在 Kubernetes 上安装 Gitlab CI Runner Gitlab CI 基本概念以及 Runner 的安装
简介 从 Gitlab 8.0 开始,Gitlab CI 就已经集成在 Gitlab 中,我们只要在项目中添加一个.gitlab-ci.yml文件,然后添加一个Runner,即可进行持续集成.在介绍 ...
- Maven中所用的Dependency查找方法
用了Maven,所需的JAR包就不能再像往常一样,自己找到并下载下来,用IDE导进去就完事了,Maven用了一个项目依赖(Dependency)的概念,用俗话说,就是我的项目需要用你这个jar包,就称 ...
- Java安全之基于Tomcat的Filter型内存马
Java安全之基于Tomcat的Filter型内存马 写在前面 现在来说,内存马已经是一种很常见的攻击手法了,基本红队项目中对于入口点都是选择打入内存马.而对于内存马的支持也是五花八门,甚至各大公司都 ...
- FastJson测试用例
基础测试 package com.ai; import com.ai.test.daily.Student; import com.alibaba.fastjson.JSON; import com. ...
- [FJOI2021]游记
高一这条命早在\(NOIP\)就没了,现在不过是强行续命罢了,希望死的不要很难看. 高二重开一档,最后一条命了,希望能高二进队\(Orz\). \(Day -2\) 开始敲板子. 先写了个交互的题,猜 ...
- MEGAN4,MEGAN5和MEGAN6的Linux安装和使用
目录 MEGAN 4 MEGAN 5 MEGAN 6 MEGAN(Metagenome Analyzer)是宏基因组学进行物种和功能研究的常用软件,实际上现在的Diamond+MEGAN6已经是一套比 ...
- R合并数据框有重复匹配时只保留第一行
前言 合并数据框有重复匹配时通常会返回所有的匹配,如何只保留匹配的第一行呢?其实这个需求也很常见.如芯片探针ID和基因ID往往多对一,要合并ID对应矩阵和芯片表达矩阵时. 数据例子 data = da ...
- 详细解析Thinkphp5.1源码执行入口文件index.php运行过程
详细解析Thinkphp5.1源码执行入口文件index.php运行过程 运行了public目录下的index.php文件后,tp的运行整个运行过程的解析 入口文件index.php代码如下: < ...
- WSL + MobaXterm 取代虚拟机
windows子系统安装默认C盘,这里我们直接下载安装文件安装在我们指定的目录. 1.先去官方网站下载安装文件:https://docs.microsoft.com/zh-cn/windows/wsl ...