构造方法摘要BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的缓冲字符输出流。BufferedWriter(Writer out, int sz) 创建一个使用给定大小输出缓冲区的新缓冲字符输出流。 方法摘要 voidclose() 关闭此流,但要先刷新它。 voidflush() 刷新该流的缓冲。 voidnewLine() 写入一个行分隔符。 voidwrite(char[] cbuf, int off, int len) 写入字符数组的某一部分。 voidwrite(int c) 写入单个字符。 voidwrite(String s, int off, int len) 写入字符串的某一部分。
实现代码:
public class CopyBufferReaderToBufferWriter { public static void main(String[] args) { File inputFile=new File("E:1.dat"); //必须先创建目录 File originalOutputFile=new File("E:2"); if(!originalOutputFile.exists()){ originalOutputFile.mkdirs(); } //再创建文件 File outputFile=new File(originalOutputFile,"2.dat"); try { BufferedReader bufferedReader=new BufferedReader(new FileReader(inputFile)); BufferedWriter bufferedWriter=new BufferedWriter(new FileWriter(outputFile)); String line=null; //不再是!=-1,而是!=null了,很重要 while ((line=bufferedReader.readLine())!=null){ bufferedWriter.write(line); bufferedWriter.newLine(); bufferedWriter.flush(); } } catch (Exception e) { e.printStackTrace(); } } }