100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 黑马JAVA P165 代码与文件编码不一致读取乱码的问题 转换流来解决

黑马JAVA P165 代码与文件编码不一致读取乱码的问题 转换流来解决

时间:2020-10-09 08:03:28

相关推荐

黑马JAVA P165 代码与文件编码不一致读取乱码的问题 转换流来解决

package com.itheima.d4_transfer_stream;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;import java.io.Reader;/*** 演示一下代码编码与文件编码相同和不同的情况*/public class CharSetTest00 {public static void main(String[] args) {try (//代码:UTF-8 文件 UTF-8 不会乱码//1.创建一个文件字符输入流与源文件接通//Reader fr = new FileReader("D:\\code\\javasepromax\\io-app2\\src\\out04.txt");//代码:UTF-8 文件 GBK 乱码 abc 我 爱 你中国//ooo oo ooReader fr = new FileReader("D:\\a.txt");//a.把低级的字符输入流包装成高级的缓冲字符输入流BufferedReader br = new BufferedReader(fr);){String line;while ((line = br.readLine()) != null){System.out.println(line);}} catch (IOException e) {e.printStackTrace();}}}

package com.itheima.d4_transfer_stream;import java.io.*;public class InputStreamReaderDemo01 {public static void main(String[] args) throws Exception{// 代码 UTF-8 文件 GBK “D:\a.txt”//1.提取GBK文件的原始字节流。 abc 我// ooo ooInputStream is = new FileInputStream("D:\\a.txt");//2.把原始字节流转换成字符输入流// Reader isr = new InputStreamReader(is); //默认以UTF-8 的方式转换成字符流。还是会乱码的 跟直接使用FileReader是一样的Reader isr = new InputStreamReader(is,"GBK"); //以指定的GBK编码转换成字符输入流BufferedReader br = new BufferedReader(isr);String line;while ((line = br.readLine() ) != null){System.out.println(line);}}}

package com.itheima.d4_transfer_stream;import java.io.*;public class OutputStreamWriterDemo02 {public static void main(String[] args)throws Exception {//1.定义一个字节输出流OutputStream os = new FileOutputStream("D:\\code\\javasepromax\\io-app2\\src\\out09.txt");//2.把原始的字节输出流转换成字符输出流//Writer osw = new OutputStreamWriter(os); //以默认的UTF-8写字符出去,跟直接写FileWriter一样Writer osw = new OutputStreamWriter(os,"GBK");//指定GBK的方式写字符出去//3.把低级的字符输出流包装成高级的缓冲字符输出流BufferedWriter bw = new BufferedWriter(osw);bw.write("我爱中国1~~");bw.write("我爱中国2~~");bw.write("我爱中国3~~");bw.close();}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。