美文网首页
IO中的BufferedWriter和BufferedReade

IO中的BufferedWriter和BufferedReade

作者: X兄 | 来源:发表于2019-04-08 14:27 被阅读0次

    IO中的BufferedWriter和BufferedReader以及读取时出现乱码的问题

    1. BufferedWriter作用:
    将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

    其有哪些方法:

    close()  :    关闭此流,但要先刷新它。

    flush() :      刷新该流的缓冲。

    newLine() :  写入一个行分隔符。

    write(char[] cbuf, int off, int len)  :    写入字符数组的某一部分。

    write(int c)  :   写入单个字符。

    write(String s, int off, int len) :  写入字符串的某一部分。

    2. BufferedReader作用:

    读取文本文件 ,会先尽量从文件中读入字符数据并置入缓冲区,而之后若使用read()方法,会先从缓冲区中进行读取。

    实战代码:

    public class Test{

        public static void main(String[] args) throws Exception{

            //BufferedWriter将字符写入到文件中

            FileWriter fw =new FileWriter("E:\\Buffered.txt");//创建一个文件

            BufferedWriter bufw =new BufferedWriter(fw);

            bufw.write("hello world");

            bufw.newLine(); //作用是换行

            bufw.write("this is test");

            bufw.newLine();

            bufw.write("你好,这里是测试!");

            bufw.flush();

            bufw.close();

            //读取文件,然后进行转码,防止出现乱码的问题

            InputStreamReader isr =new InputStreamReader(new FileInputStream("E:\\Buffered.txt"), "UTF-8");

            //创建字符缓冲输入流对象

            BufferedReader br =new BufferedReader(isr);

            //读数据

    //一次读取一个字符数组

            char[] chs =new char[1024];

            int len =0;

            while ((len = br.read(chs)) != -1) {

                System.out.println(new String(chs, 0, len));

            }

            //释放资源

            br.close();

        }

        }

    运行结果:

    去E盘查看是否有创建了这个文件:

    可以看到,我们已经成功创建了这个文件!!!

    相关文章

      网友评论

          本文标题:IO中的BufferedWriter和BufferedReade

          本文链接:https://www.haomeiwen.com/subject/neiuiqtx.html