BufferedReader
构造方法摘要 | |
---|---|
BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流。 | |
BufferedReader(Reader in, int sz) 创建一个使用指定大小输入缓冲区的缓冲字符输入流。 |
方法摘要 | |
---|---|
void | close() 关闭该流并释放与之关联的所有资源。 |
void | mark(int readAheadLimit) 标记流中的当前位置。 |
boolean | markSupported() 判断此流是否支持 mark() 操作(它一定支持)。 |
int | read() 读取单个字符。 |
int | read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。 |
String | readLine() 读取一个文本行。 |
boolean | ready() 判断此流是否已准备好被读取。 |
void | reset() 将流重置到最新的标记。 |
long | skip(long n) 跳过字符。 |
BufferedWriter
构造方法摘要 | |
---|---|
BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的缓冲字符输出流。 | |
BufferedWriter(Writer out, int sz) 创建一个使用给定大小输出缓冲区的新缓冲字符输出流。 |
方法摘要 | |
---|---|
void | close() 关闭此流,但要先刷新它。 |
void | flush() 刷新该流的缓冲。 |
void | newLine() 写入一个行分隔符。 |
void | write(char[] cbuf, int off, int len) 写入字符数组的某一部分。 |
void | write(int c) 写入单个字符。 |
void | write(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();
}
}
}