InputStreamReader介绍&代码实现和转换文件编码_练习
InputStreamReader介绍&代码实现
package com.yang.Test.ReverseStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* java.io.InputStreamReader extends Reader
* InputSTreamReader:是字节流通向字符流的桥梁:他使用指定的charset读取字节并将其解码为字符
*
* 继承自父类的共性成员方法:
* int read()读取单个字符并且返回
* int read(char[] cbuf)一次读取多个字符,将字符读入数组
* void close()关闭此流释放与之关联的所有资源
* 构造方法:
* InputStreamReader(InputStream in) 创建一个使用默认字符集的InputStreamReader
* InputStreamReader(InputStream in,String charsetName)创建使用指定字符集的InputStreamReader
* 参数:
* InputStream in:字节输入流用来读取文件中保存的字节
* String charsetName:指定的编码表名称,不区分大小写不指定默认使用UTF-8
*
* 使用步骤:
* 1.创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称
* 2.使用InputStreamReader对象中的read方法读取文件
* 3.释放资源
*
* 注意事项:
* 构造方法中指定的编码表名称要和文件的编码相同,某则会发生乱码
*/
public class InputStreamReaderStudy {
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(new FileInputStream("D:\\f.txt"),"GBK");
int read = 0;
while((read = isr.read())!=-1){
System.out.println((char)read);
}
isr.close();
}
}
练习_转换文件编码
将GBK编码的文本文件,转换为UTF-8编码的文本文件
案例分析:
1.指定GBK编码的转换流,读取文本文件
2.使用UTF-8编码的转换流,写出文本文件
代码实现:
package com.yang.Test.ReverseStream;
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException {
//创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称GBK
InputStreamReader isr = new InputStreamReader(new FileInputStream("我是GBK.txt"),"GBK");
//创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("我是UTF-8.txt"),"UTF-8");
//使用InputStreamReader对象中的方法read读取文件
int len = 0;
while((len = isr.read())!=-1){
//使用OutputStreamWriter对象中的方法writer吧读取的数据写入到文件中
osw.write(len);
}
//释放资源
osw.close();
isr.close();
}
}
InputStreamReader介绍&代码实现和转换文件编码_练习的更多相关文章
- qt开发的小软件,可以递归转换文件编码(qt为了防止内存泄露所做的保护机制)
应用场景 当你下载别人的源码的时候,而别人的源码跟你自己电脑里面的编码不一致的情况下将会出现乱码,但是如果要一个个转换编码的话那么那样所需要花的时间太多,所以就有必要写一个软件递归遍历项目下面所有的文 ...
- 使用windows命令和iconv.exe批量转换文件编码
iconv是知名的开源跨平台编码转换库,iconv.exe是iconv库在windows下的命令行工具,iconv.exe的一般用法:iconv.exe -f gbk -t utf-8 gbk.txt ...
- linux iconv 转换文件编码
查看文件编码file -i filename 递归转换(包括子文件夹)find default -type d -exec mkdir -p utf/{} \;find default -type f ...
- 格式化MyEclipse代码(java、jsp、js)行的长度@修改java代码字体@修改Properties文件编码方式
每次用MyEclipse/Eclipse自带的快捷键Ctrl+shift+f格式化代码时,如果原来的一行代码大于80列,Eclipse就会自动换为多行.如果想格式化代码后不想让代码换行可以通过以下方式 ...
- Linux平台上转换文件编码
Linux系统的iconv指令是一个很好的文件编码转换工具,支持的编码范围广,使用方便,例如将一个utf-8编码的文件(名为tic)转换为gbk编码: iconv -f utf-8 -t gbk ti ...
- mac 查看文件编码及转换文件编码
方法是用vim , vim 打开相应文件, :set fileencoding即可显示文件编码格式 将文件编码转换为utf-8 :set fileencoding=utf-8
- OutputStreamWriter介绍&代码实现和InputStreamReader介绍&代码实现
java.io.OutputStreamWriter extends Writer OutputStreamWriter: 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编 ...
- Linux下批量转换文件编码
find -iname "*.java" -exec enca {} + |grep -v ASCI |grep -v -i utf |awk -F':' '{print $1}' ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_6_练习_转换文件编码
随机推荐
- java高级用法之:JNA中的Structure
目录 简介 native中的struct Structure 特殊类型的Structure 结构体数组作为参数 结构体数组作为返回值 结构体中的结构体 结构体中的数组 结构体中的可变字段 结构体中的只 ...
- iview 酸爽debug: subMenu默认选中无效的解决方法
一. 在iview中写一个submenu <Col span="3" type="flex" v-if="showCids"> ...
- 计算机网络 - OSI 7层网络模型各层对应的功能
应用层 - 负责给应用程序提供统一的接口 表示层 - 负责把数据的解压缩和编码 会话层 - 负责会话的管理(建立和终止) 传输层 - 负责端到端的数据传输 网络层 - 负责数据的路由.转发.分片 数据 ...
- MVC - forward 和 redirect 的区别
MVC - forward 和 redirect 的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服 ...
- JAVA - 类的加载过程
JAVA - 类的加载过程 JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化. 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象 ...
- Java实现http大文件流读取并批量插入数据库
1.概述 请求远程大文本,使用流的方式进行返回.需要设置http链接的超时时间 循环插入到List中,使用mybatis-plus批量插入到mysql中 2.需求 两台服务器 大文件放到其中一台服务器 ...
- 155_模型_Power BI & Power Pivot 进销存之安全库存
155_模型_Power BI & Power Pivot 进销存之安全库存 一.背景 谈进销存的概念时,我们也需要提及另外一个概念:安全库存. 库存周转在理想的状态下是做到零库存,但是在内部 ...
- Javaweb-IDEA 中Maven的操作
1. 在idea中使用Maven 启动idea 创建一个MavenWeb项目 3.等待项目初始化完毕 4. 观察maven仓库中多了哪些东西 5. idea中的maven设置 注意:idea项目创成功 ...
- Vue.js与ElementUI搭建无限级联层级表格组件
前言 今天,回老家了.第一件事就是回家把大屏安排上,写作的感觉太爽了,终于可以专心地写文章了.我们今天要做的项目是怎么样搭建一个无限级联层级表格组件,好了,多了不多说,赶快行动起来吧!项目一览 到底是 ...
- 论文解读(AGC)《Attributed Graph Clustering via Adaptive Graph Convolution》
论文信息 论文标题:Attributed Graph Clustering via Adaptive Graph Convolution论文作者:Xiaotong Zhang, Han Liu, Qi ...