Java转换流之编码处理-乱码处理纪要

    技术2022-07-10  149

    package cn.file; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; /** * 今天整理一下关于转换流的编码处理: * [InputStreamReade,OutputStreamWriter] * * 读取指定编码:new InputStreamReade(new FileInputStream("path.txt") , "GBK"); * 写入指定编码:new OutputStreamWriter(new FileOutputStream("pathSecond.txt") , "GBK"); * * 字符编码:Character Encoding(二进制存储各种形式的信息数据规则即字符编码-自然语言同二进制数之间的规则) * 字符集:Charset(也叫做编码表:用来记录所有地域国家的文字、标点符号、图形符号、数字等信息;) * (常见的字符集:ASCII字符集、GBK字符集、Unicode字符集;) * * * 还是同以往一样,创建自己的测试类; * @author Administrator * */ public class BufferStreamTest { /** * Java主函数|入口; * @param args */ public static void main(String[] args) { // 初始化文件地址; String path = "D:\\LADDING.txt"; String pathSecond = "D:\\LADDING_Second.txt"; try { // 初始化InputStreamReader对象,读取指定编码数据; InputStreamReader isr = new InputStreamReader(new FileInputStream(path),"UTF-8"); // 初始化OutputStreamWriter对象,输出指定编码数据; OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(pathSecond),"UTF-8"); /** * 初始化移动变量; * 用来记录每次读取的二进制数据; */ int x = 0; /** * 遍历流数据 * 只要数据文件有值,所读取到的数据就会大于-1; */ while((x = isr.read()) != -1) { // 数据流写入; osw.write(x); } // 资源释放; isr.close(); osw.close(); } catch (IOException e) { e.printStackTrace(); } } }

     

    Processed: 0.015, SQL: 9