IO流之BufferedReader/BufferedWriter
Posted zhangxiong-tianxiadiyi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流之BufferedReader/BufferedWriter相关的知识,希望对你有一定的参考价值。
BufferedReader继承于Reader,除了之前提到的
read ==》一个字符一个字符的读;
read(char[ ] cbuf)==》 多个字符(字符串)的读;
还增加了自己独有的读取方法:
readLine()==》用于读取一行文本。
BufferedReader初始化时需要一个reader,所以也是响应了上面的话“除了有reader的方法,也增加了自己独有的方法”
public static void main(String[] args) throws IOException { File file=new File("D:\\111\\a.txt"); //实现一行一行读取 FileReader reader=new FileReader(file); BufferedReader br=new BufferedReader(reader); String line; while ((line=br.readLine())!=null) { System.out.println(line); } br.close();
reader.close(); }
BufferedWriter继承于Writer,除了之前提到的
write ==》一个字符一个字符的读;
write(char[ ] cbuf)和write(string)==》 多个字符(字符串)的读;
newline() 写入一个行分隔符。
public static void main(String[] args) throws IOException { File file=new File("D:\\111\\a.txt"); //实现一行一行写入 FileWriter writer=new FileWriter(file); BufferedWriter bw=new BufferedWriter(writer); bw.write("lol"); bw.newLine(); bw.write("dnf");
bw.flush();
bw.close();
writer.close();
}
上面的代码都是在系统默认的编码格式下写的,那如果需要用不同编码格式写又是怎么操作呢?
File file=new File("D:\\111\\b.txt"); //实现utf8格式一行一行写入 FileOutputStream out=new FileOutputStream(file); OutputStreamWriter writer=new OutputStreamWriter(out,"utf8"); //这里需要来一个转换流 BufferedWriter bw=new BufferedWriter(writer); bw.write("dnf"); bw.newLine(); bw.write("lol"); bw.flush(); bw.close(); writer.close(); }
以上是关于IO流之BufferedReader/BufferedWriter的主要内容,如果未能解决你的问题,请参考以下文章