Java实现文件的读取操作

来源:互联网 发布:手机监听监控定位软件 编辑:程序博客网 时间:2024/05/16 11:23

以下是用带缓存的方式实现文件的输入和输出,缓存是I/O的一种性能优化,缓存流为I/O流增加了内存缓存区,从而使得在流上执行skip(),mark(),reset()成为了可能;

BufferedReader类与BufferedWriter类分别继承于Reader类和Writer类,这两个类同样具有内部缓存机制,并且是以行为单位进行输入输出,字符数据读取文件的过程如下:

字符数据--->BufferedWriter--->OutputStreamWriter--->OutputStream--->文件;

BufferedReader类常用的方法如下:

read():读取单个字符;

readLine():读取文本行,并将其返回为字符串,若无数据可读,返回null.

BufferedWriter类常用方法如下:

write();写入字符串的某一部分;

flush();刷新该流的缓存;

newLine();写入一个行分隔符.

在使用BufferedWriter类的Write()方法时,数据并没有立刻被写入至输出流,而是首先进入缓存区中,如果想立刻将缓存区中的数据写入输出流,一定要调用flush()方法。

package edu.hue.rj;



import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;


public class Readwirte {
public static void main(String args[]){
try{
BufferedReader br=new BufferedReader(new FileReader("wr2.txt"));
String s=null;
int i=0;
while((s=br.readLine())!=null)
{
i++;
System.out.println("第"+i+"行"+s);
}
br.close();
}catch(Exception e){
e.printStackTrace();
}

try{
String s[]={"这似乎就不是完整的面向对象了,按照OO的原则就是一个对象只暴露有用的东西."};
FileWriter file=new FileWriter("wr.txt");
BufferedWriter bw=new BufferedWriter(file);
for(int i=0;i<s.length;i++)
{
bw.write(s[i]);
bw.newLine();
}
bw.close();
file.close();

}
catch(Exception e){
e.printStackTrace();
}

}


}
0 0