本示例采用字符流BufferedReader和FileWriter,作为demo运行成功,主要记录下清空文件的方法。
一、读取文件和写入文件信息
被读取文件:readDemo.txt
文件内容如下:
要写入文件:writeDemo.txt
文件无内容:
二、实现代码
代码如下(示例):
/**
*
* 字符输入流,读取文件的缓冲区对象
* BufferedReader是Reader的子类
*
* BufferedReader实现读取文本的一行,按行读
* String readLine()读取到文件的结尾 null
*
* 构造方法
* BufferedReader(Reader in) 传递字符输入流
* 传递Reader的子类对象,InputStreamReader,FileReader
*
* BufferedReader(new FileReader(""))
*
* 关注特有方法readLine
* @version
*/
public class BufferReaderDemo {
public static void main(String[] args) throws Exception{
//创建字符输入流的缓冲区对象,传递字符输入流,包装文件
BufferedReader buffer=new BufferedReader(new FileReader("c:\\readDemo.txt"));
//创建写入流
FileWriter writer=new FileWriter("c:\\writeDemo.txt");
//调用缓冲区对象特有方法readLine读取一行,返回字符串; 文件结尾会返回null;readLine读的数据没有换行符\r\n
String line = null ;
while((line=buffer.readLine())!=null){
System.out.println(line);
//向文件写入内容
writer.write(line);
}
writer.flush();
writer.close();
//关闭资源
clearInfoForFile("c:\\readDemo.txt");
buffer.close();
}
/**
* 清空文件内容
* @param fileName
*/
public static void clearInfoForFile(String fileName) {
File file =new File(fileName);
try {
if(!file.exists()) {
file.createNewFile();
}
FileWriter fileWriter =new FileWriter(file);
fileWriter.write("");
fileWriter.flush();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
执行结果
控制台部分:
查看writeDemo.txt文件:(BufferedReader.readLine()不能读取换行符)
查看readDemo.txt文件: