简单的流读取写入文件
public static void main(String[] args) {
FileWriter FW = null;//创建写入流
FileReader FR = null;//创建读取流
try {
FW = new FileWriter("D://invite1.html");//写入目标文件,不存在会自动创建
FR = new FileReader("D://invite.html");//读取目标文件内容
char[] buf = new char[1024];//定义一个数组接受读取到的内容,长度最好是1024的倍数
int len = 0;//定义一个长度用来判断是否读取到最后一位,到最后一位返回-1
while ((len=FR.read(buf))!=-1) {//判断是否读取到最后一位
FW.write(buf, 0, len);//写入buf数组中的0开始长度为len的内容,可能不满1024只需写入读取到的长度
}
} catch (IOException e) {
e.printStackTrace();
}
finally {//关闭流,关闭流必须抛异常
if(FW!=null){
try {
FW.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(FR!=null){
try {
FW.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
为了提高流的效率加入了缓冲流
//写入缓冲流 BufferedWriter bw = new BufferedWriter(FW);//将写的流放入缓冲区 bw.write("写入内容"); //写入后一定要刷新 bw.flush(); bw.close();//关闭缓冲流,其实就是关闭缓冲区中的流对象 //读取缓冲流 BufferedReader br = new BufferedReader(FR);;//将读的流放入缓冲区 br.readLine();//特殊的方法可以一次读取文本文件一行,如果到末尾返回null br.close();//关闭缓冲流,其实就是关闭缓冲区中的流对象