JAVA本地读取文件,解决中文乱码问题
JAVA本地读取文件出现中文乱码,查阅一个大神的博客做一下记录
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
public class InPutcopy {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
File file=new File("C:\\Users\\绝影\\Desktop\\桌面.txt");//创建一个新的file实例
File fi=new File("C:\\Users\\绝影\\Desktop\\7777.txt");
//读出对应输入流
InputStream input = null;
OutputStream out = null;
InputStreamReader inp=null;
OutputStreamWriter ou=null;
BufferedReader reader=null;
BufferedWriter write=null;
try {
input = new FileInputStream(file);
inp=new InputStreamReader(input,"GBK");//字节流字符流转化的桥梁
out=new FileOutputStream(fi);//建立文件字节输出流
ou=new OutputStreamWriter(out);//字节流字符流转化的桥梁
write= new BufferedWriter(ou);//缓冲读取字符 将字节流封装成BufferedReader对象
reader = new BufferedReader(inp);//以字符流方式读入
char a[]=new char[21];
byte b[]=new byte[21];
FileReader filer=new FileReader(file);
FileWriter filer1=new FileWriter(fi);
/* 中文不会乱码*/
reader.read(a);
write.write(a);
/* 中文不会乱码*/
/*inp.read(a);
ou.write(a);*/
//中文不会乱码
/*input.read(b);
out.write(b);*/
//input.read(b);//放入字节数组
//字节数组的read方法的源码,下面可知input.read(b)不会导致数组越界,就是担心文件内容放不了进入数组的情况,因为这个read方法本身
//数组放入多少是已经固定的,并非将文件内容一下子全部放入,所以不会有越界情况
/*public int read(byte b[]) throws IOException {
return read(b, 0, b.length);
}*/
for(int i=0;i<21;i++) {
//System.out.println(b[i]);//48---57
System.out.println(a[i]);//这里不懂,BufferedReader中的参数换inp后前面的部分字符没有输出
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
inp.close();
ou.close();
input.close();
out.close();
//reader.close();
//write.close();//这里把输出流关闭也会和write.flush()一样的效果,有点类似数据库的事务提交
}
}
}
JAVA本地读取文件,解决中文乱码问题的更多相关文章
- JAVA本地TXT文件解决中文乱码问题
import java.io.*; public class ReadFile { public static void main(String[] args) { try { File file = ...
- java解压多目录Zip文件(解决中文乱码问题)--转载
原文地址:http://zhangyongbo.iteye.com/blog/1749439 import java.io.BufferedOutputStream; import java.io.F ...
- java web 中有效解决中文乱码问题-pageEncoding与charset区别, response和request的setCharacterEncoding 区别
这里先写几个大家容易搞混的编码设置代码: 在jsp代码中的头部往往有这两行代码 pageEncoding是jsp文件本身的编码contentType的charset是指服务器发送给客户端时的内容编码J ...
- Java Web项目中解决中文乱码方法总结
一.了解常识: 1.UTF-8国际编码,GBK中文编码.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立; 2.web tomcat:默认是ISO8859-1,不 ...
- node.js在读取文件时中文乱码问题
断更很久了........从今天开始会努力的持续更博,积极学习. 言归正传.今天在写node.js的demo时发现一个bug.我在node中读取本地的text文件时,发现英文的内容可以被读取,但是中文 ...
- android 读取本地json文件 解决显示乱码显示
1.读取本地JSON ,但是显示汉字乱码 public static String readLocalJson(Context context, String fileName){ ...
- Java下载文件解决中文乱码问题
直接上代码 /** * @desc 下载已存在的文件 */ public void sendFile(HttpServletRequest request, HttpServletResponse r ...
- Qt读取文件时中文乱码问题
在默认情况下,Qt 以 Unicode 格式处理文本字符,因此,字符本身是不会有问题的.之所以出现乱码,原因在于 Qt 不知道将 Unicode 字符以何种方式显示出来. 文本文件含有简 ...
- Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)
Java ZIP压缩和解压缩文件(解决中文文件名乱码问题) 学习了:http://www.tuicool.com/articles/V7BBvy 引用原文: JDK中自带的ZipOutputStrea ...
随机推荐
- Oracle_PL/SQL(9) 例外处理
例外处理1.例外分类:预定义例外,非预定义例外,自定义例外三种传递例外:如果在例外处理部分exception没有捕捉例外,oracle会将例外传递到调用环境.捕捉并处理例外:使用例外处理部分完成exc ...
- andorid 帧布局
framelayout.xml帧布局 <?xml version="1.0" encoding="utf-8"?> <FrameLayout ...
- 简单DP入门四连发
复习一下一直不太懂的dp. dp博大精深,路还长着呢 第一题;http://acm.hdu.edu.cn/showproblem.php?pid=2084 从下往上就是水题 #include<c ...
- HDOJ2089 不要62
原题链接 数位\(DP\)入门题. 记录前一个枚举到的数位,在每次枚举的时候避开\(4\),如果前一个数位为\(6\),还要跳过\(2\). 然后套上记搜模板就好. #include<cstdi ...
- CreateToolhelp32Snapshot 以及 EnumProcesses
RT,请教如何获得Windows任务管理器中所显示的进程列表. CreateToolhelp32Snapshot 以及 EnumProcesses 这些方法我都试过了,但是这两种方法得到的结果和任务管 ...
- 摹客iDoc201901-2新功能点评
2019才刚刚开始,摹客团队就已经蓄势待发.马不停蹄地给大家带来了又一份惊喜.实话说,这次小摹都忍不住要点个赞!下面就赶紧带大家看看iDoc又更新了哪些新功能: 1.标注和评论融合.协作更高效 iDo ...
- Java学习笔记:多线程(一)
Java中线程的五种状态: 新建状态(New) 就绪状态(Runnable) 运行状态(Running) 阻塞状态(Blocked) 凋亡状态(Dead) 其中阻塞状态(Blocked)又分为三种: ...
- SpringMVC学习笔记:数据的接收与返回
SpringMVC的定义:Spring Web MVC is the original web framework built on the Servlet API and included in t ...
- 【Web】Nginx配置开机启动
在添加nginx服务之后,大家会希望开机伴随启动nginx,避免手动路径输入启动: nginx官方提供了启动脚本:https://www.nginx.com/resources/wiki/start/ ...
- HTML and CSS学习概述
一·Web浏览器是一个连接到Web服务器,向Web服务器请求信息,然后解析返回来的HTML标记,并将其显示在浏览器窗口内的程序.1.Microsoft 2.Internet Explorer(IE)3 ...