package com.henu.io;
import java.io.FileNotFoundException;
import java.io.FileReader;
/*
* •FileReader(File file): 创建一个新的 FileReader ,给定要读取的File对象。
FileReader(String fileName): 创建一个新的 FileReader ,给定要读取的文件的名称。
读取字符:read方法,每次可以读取一个字符的数据,提升为int类型,读取到文件末尾,返回-1,循环读取
*/
public class Demo11_FileReader读取字符文件类 {
public static void main(String[] args) throws Exception {
//创建字符输出流用来读取文本文件
FileReader fr = new FileReader("d:/lmdhk.txt");
//创建一个字符数组用来存放读取到的字符
char[] cs = new char[1024];
//定义一个变量记录读取到的字符长度
int len = 0;
//len = fr.read(ch)把读取到的字符存放到数组ch中,并把读取到的字符复制到len
//当读取到文件结尾时返回-1
while((len = fr.read(cs)) != -1){
System.out.println(new String(cs,0,len));
}
fr.close();
}
}
package com.henu.io;
import java.io.File;
import java.io.FileWriter;
/*
* •FileWriter(File file): 创建一个新的 FileWriter,给定要读取的File对象。
FileWriter(String fileName): 创建一个新的 FileWriter,给定要读取的文件的名称。
•flush :刷新缓冲区,流对象可以继续使用。
•close :关闭流,释放系统资源。关闭前会刷新缓冲区。
写出字符数组 :write(char[] cbuf) 和 write(char[] cbuf, int off, int len) ,每次可以写出字符数组中的数据,用法类似FileOutputStream,
写出字符串:write(String str) 和 write(String str, int off, int len) ,每次可以写出字符串中的数据,更为方便,
*/
public class Demo12_FileWriter写出字符到文件 {
public static void main(String[] args) throws Exception {
FileWriter fw = new FileWriter(new File("d:/lmdhk.txt"),true);
fw.write(97);
fw.write(20013);
fw.write(22269);
fw.write(new char[] {'a','b'});
fw.write(new char[] {'a','b','c'},0,1);
fw.write("大数据\r\n");
fw.write("大数据");
//注意:字符输出流必须关闭才可以把内容写出到文件中,或者使用flush刷新表示把内存中的数据强制刷新到文件中
fw.flush();
fw.close();
System.out.println("写入成功");
}
}