1. 文件操作输入字符流
FileReader 文件操作输入字符流
Constructor 构造方法
FileReader(File file)
根据File类对象创建对应的FileReader字符流输入对象
FileReader(String pathName)
根据String类型文件路径创建对应的FileReader字符流输入对象
如果文件不存在,抛出异常FileNotFoundException
Method 成员方法
int read();
读取文件中的一个字符数据,通过返回值返回,返回值类型是int类型,但是在int类
型中有且只有低16位数据有效
int read(char[] arr);
读取文件中的数据保存到字符数组中,返回值类型是读取到的字符个数
int read(char[] arr, int off, int len);
读取文件中的数据保存到字符数组中,要求从数组中下标offset开始,到len结束,返
回值类型是读取到的字符个数
代码展示
public class Demo1 {
public static void main(String[] args) {
long start = System.currentTimeMillis();
readTest2();
long end = System.currentTimeMillis();
System.out.println("Time : " + (end - start));
}
public static void readTest2() {
FileReader fileReader = null;
try {
fileReader = new FileReader(new File("G:/test/1.txt"));
char[] buf = new char[1024 * 4];
int length = -1;
while ((length = fileReader.read(buf)) != -1) {
System.out.println(new String(buf, 0, length));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fileReader != null) {
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void readTest1() {
FileReader fileReader = null;
try {
fileReader = new FileReader(new File("G:/test/1.txt"));
int content = -1;
while ((content = fileReader.read()) != -1) {
System.out.println((char) content);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fileReader != null) {
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
2. 文件操作输出字符流
FileWriter文件操作输出字符流
Constructor 构造方法
FileWriter(File file);
根据File类对象创建对应文件的文件操作输出字符流
FileWriter(String pathName);
根据String类型文件路径创建对应文件的文件操作输出字符流
FileWriter(File file, boolean append);
根据File类对象创建对应文件的文件操作输出字符流,并要求为追加写
FileWriter(String pathName, boolean append);
根据String类型文件路径创建对应文件的文件操作输出字符流,并要求为追加写
如果创建FileWrite对象时,这里文件不存在,路径合法,这里会创建对应的操作文件。如果路径不合法,抛出异常 FileNotFoundException
Method 成员方法
void write(int ch);
写入一个char类型数据到文件中
void write(char[] arr);
写入一个char类型数组到文件中
void write(char[] arr, int offset, int length);
写入一个char类型数组到文件中,要求从offset下标位置开始读取数组数据,长度为
length
void write(String str);
写入一个字符串到文件中
void write(String str, int offset, int lenght);
写入一个字符串到文件中,要求从指定字符串offset下标位置开始,长度为length
如果写入数据操作过程中,发生问题,这里会有一个IOException
代码展示
public class Demo1 {
public static void main(String[] args) {
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(new File("G:/test/1.txt"), true);
char[] charArray = "为天地立心".toCharArray();
fileWriter.write(charArray);
fileWriter.write("为生民立命");
fileWriter.write("\r\n");
fileWriter.write(charArray, 0, 5);
fileWriter.write("为往圣继绝学", 0, 5);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fileWriter != null) {
try {
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private static void writeTest1() {
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(new File("G:/test/2.txt"), true);
fileWriter.write('武');
fileWriter.write('汉');
fileWriter.write('加');
fileWriter.write('油');
fileWriter.write(',');
fileWriter.write('中');
fileWriter.write('国');
fileWriter.write('加');
fileWriter.write('油');
fileWriter.write(',');
fileWriter.write('世');
fileWriter.write('界');
fileWriter.write('加');
fileWriter.write('油');
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fileWriter != null) {
try {
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}