一般情况下,为了提高字符文件读/写效率,通常需要为文件读/写器添加一个缓冲读/写器,分别为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();
}
}

最新文章

  1. CODEVS1090 加分二叉树
  2. Bash 里的转义序列
  3. 你的联动够快够小吗——基于Telerik(ASP.NET平台)
  4. json解析转map
  5. eclipse jdk配置
  6. Oracle “CONNECT BY” 使用 [转]
  7. leetcode majority number
  8. linux虚拟主机管理系统wdcp系列教程之三
  9. c语言:最长对称子串(3种解决方案)
  10. Chapter 2 Open Book——22
  11. Android自动登录功能的实现
  12. 一文了解JAVA虚拟机的重要组成
  13. du 查看文件大小
  14. vue-demo
  15. Linux 系统的主机别名文件
  16. 06 django的用户认证组件
  17. 高级PHP工程师所应该具备的专业素养
  18. SpringMVC 上传文件(文件非必填)MultipartHttpServletRequest
  19. KVM创建虚拟机
  20. 一行代码轻松实现拖动效果[JQuery]

热门文章

  1. 【POJ】2891 Strange Way to Express Integers
  2. USACO 5.4 Twofive(DP)
  3. Oracle connect by 树查询之三(超详细)
  4. ios修改产品名
  5. 关于Autoit上传文件的问题
  6. The Unsolvable Problem
  7. Android常用功能代码块
  8. [LintCode] Coins in a Line 一条线上的硬币
  9. Qt Load and Save PCL/PLY 加载和保存点云
  10. Sqoop_ 简单介绍