zoukankan      html  css  js  c++  java
  • 字节流和字符流(BufferedReader类和BufferedWriter类)

    一般情况下,为了提高字符文件读/写效率,通常需要为文件读/写器添加一个缓冲读/写器,分别为BufferedReader类和BufferedWriter类。

    1:BufferedReader类

    假如上面的例子使用的文件Student.txt是一个学生名单,每个名字占一行。如果我们想读取名字,那么每次必须读取一行,但FileReader类没有提供这种方法,所以必须把这个流(对象)再接到另一个流上,从后一个流中读取名单。java提供名为BufferedReader的类,主要是用来实现读取文件中的一个段落。其格式如下:

    BufferedReader br=new BufferedReader(newFileReader(filename));

    也可以改为以下形式:

    FileReaderto file=new FileReader(filename);

    BufferredReader br=new BufferedWriter(tofile);

    在声明BufferedReader类对象后,就可以调用其readLine方法来读取文件中的数据。当读取到回车符(/n)是,就表示本次的读取结束,将所读到的内容以字符串数据的形式输入到程序中,下次读取从回车符后面的数据开始。当所有的数据内容都读取完后,返回值null。在完成文件数据的读取后,需要用close()方法关闭打开的文件。示例代码如下:

    import java.io.*;
    public class BufferedReaderDemo {
    public static void main(String []args)throws IOException{
    FileReader fr=new FileReader("student.txt");
    BufferedReader br=new BufferedReader(newFileReader("Student.txt"));
    String Strings = br.readLine();//创建变量S用于储存从文件中读到的第一行数据。
    Object s = null;
    while (s!=null){//判断s变量是否接受数据
    System.out.print(s+"/n");
    s=br.readLine();//读取下一行数据并储存到s中
    }
    br.close();//关闭流
    }
    
    private static Reader newFileReader(String string) {
    // TODO Auto-generated method stub
    return null;
    }
    }

    2:BufferedWriter类

    类似的,可以将BufferedWriter流和FileWriter流连接在一起,然后使用BufferedWriter流将数据写到目的地,创建BufferedWriter类对象的格式如下:

    BufferedWriter br=new BufferedWriter(newFileWriter(filename));

    或者是

    FileWriterfrom file=new FileWriter(filename);

    BufferedWriter bw=new BufferedWriter(fromfile);

    在声明BufferedWriter类的对象后,调用其newLine()方法来写入一个回车符。因为不同的操作系统平台,其回车符的表达方式不同,所以,可以使用newLine()方法直接产生系统声明的回车符,而不必在意其具体的表达方式。例如,下面的陈故乡创建一个文件student。txt并写入字符串和回车符。

    示例代码如下:

    import java.io.*;
    
    public class BufferedWriterDemo {
        public static void main(String[] args) throws IOException {
            BufferedWriter bw = new BufferedWriter(newFileWriter("student.txt"));
            bw.write("this is my student.txt");// 向文件中输入字符串
            bw.newLine();// 换行
            bw.write("xixi");// 想文件中写入内容
            bw.close();
        }
    }
  • 相关阅读:
    两数交换
    排序算法总结
    mysql 完整性约束
    mysql 数据类型
    python 学习_第四模块 并发编程(多线程)
    python 学习_第四模块 并发编程(多进程)
    第二章 mysql用户管理
    第一章 mysql源码安装
    python 学习_第三模块网络编程入门
    python 学习_第三模块 面向对象(中级)
  • 原文地址:https://www.cnblogs.com/Angella/p/6080723.html
Copyright © 2011-2022 走看看