Java 文件IO 转换流 InputStreamReader,OutputStreamWriter
由于文本文件的编码问题,有个时候读取出来的文件是乱码。
当我们使用InputStreamReader,OutputStreamWriter读取文件的时候可以修改文件的字符编码来解决乱码问题
InputStreamReader
如下代码设置读取格式gbk读取文件数据到程序中。
import java.io.*; import java.sql.SQLException; public class Main { public static void main(String[] args) throws IOException ,ClassNotFoundException{ // 设置转换流,将a.txt读取的时候是以gdk形式读取 InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("a.txt"),"gbk"); // 得到包装流 BufferedReader bufferedReader = new BufferedReader(inputStreamReader); // 读取数据 String s = bufferedReader.readLine(); System.out.println(s); // 释放 bufferedReader.close(); inputStreamReader.close(); } }
OutputStreamWriter
如下代码以gdk的字符格式写入字符串到文件中
import java.io.*; import java.sql.SQLException; public class Main { public static void main(String[] args) throws IOException ,ClassNotFoundException{ // 创建流对象 OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("a.txt"),"gbk"); // 写入数据 outputStreamWriter.write("This world is slowing"); // 释放 outputStreamWriter.close(); System.out.println("Done"); } }
运行效果如下
下一篇:
js中的回调函数的理解和使用方法