您的位置:首页 > 编程语言 > Java开发

Java的IO流--FileWriter和FileReader

2017-10-25 20:02 267 查看
FileWriter和FileReader一般成对的出现,它们都是字符流。用法和前面讲的FileInputStream和FileOutputStream一样,只是应用的范围不一样(文件字符流用于纯文本文件的读写比较快速)。

继续将前面的结构图贴一下:



FileReader继承自InputStreamReader

FileWriter继承自OutputStreamReader

Reader是一个抽象类,定义了一系列的方法规范:



下面来看一下范例:

package IO;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class testFileReader {
public static void main(String[] args) {
try {
//创建文件输入字符流
FileReader read = new FileReader("F:/test");
//开始读,返回的是读入字符的Ascall码值
int t1 = read.read();
System.out.println(t1);
read.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}
}


以下是FileWriter的使用,方式和FileOutputStream雷同

package IO;

import java.io.FileWriter;
import java.io.IOException;

public interface testFileWriter {
public static void main(String[] args) {
try {
//FileWriter writer = new FileWriter("F:/test1");
FileWriter writer = new FileWriter("F:/test1",true);//追加方式的写入,否则会覆盖文件前面的内容
writer.write("Hello World!");
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}


用FileWriter和FileReader实现文本的复制粘贴:

package IO;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class FileReaderAndFileWriter {
public static void main(String[] args) {
try {
//创建输出字符流对象
FileReader reader = new FileReader("F:/test");
//创建输入字符流对象
FileWriter writer = new FileWriter("F:/test4");
//创建存放char数组
char[] c = new char[512];
int temp = 0;
//将字符读入c数组中,当读到空字节的时候返回-1
while((temp=reader.read(c)) !=-1) {
//将c数组中的字符写入输入字符流中
writer.write(c,0,7);
}

//关闭字符流
reader.close();
writer.close();
} catch (FileNotFoundException e) {

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

e.printStackTrace();
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: