字符缓冲流不要使用多态,因为其含有特有的方法。
凡是字符流都加上缓冲流。
package com.sxt.io;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* 四个步骤: 分段读取 文件字符输入流 加入缓冲流
* 1、创建源
* 2、选择流
* 3、操作
* 4、释放资源
*
* @author
*
*/
public class BufferedTest03 {
public static void main(String[] args) {
//1、创建源
File src = new File("abc.txt");
//2、选择流
BufferedReader reader =null;
try {
reader =new BufferedReader(new FileReader(src));
//3、操作 (分段读取)
String line =null;
while((line=reader.readLine())!=null) {
//字符数组-->字符串
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
//4、释放资源
try {
if(null!=reader) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
package com.sxt.io;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
/**
* 文件字符输出流 加入缓冲流
*1、创建源
*2、选择流
*3、操作(写出内容)
*4、释放资源
* @author
*
*/
public class BufferedTest04 {
public static void main(String[] args) {
//1、创建源
File dest = new File("dest.txt");
//2、选择流
BufferedWriter writer =null;
try {
writer = new BufferedWriter(new FileWriter(dest));
//3、操作(写出)
writer.append("IO is so easy");
writer.newLine();
writer.append("欢迎你");
writer.flush();
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}finally{
//4、释放资源
try {
if (null != writer) {
writer.close();
}
} catch (Exception e) {
}
}
}
}
package com.sxt.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 文件拷贝:文件字节输入、输出流
*
* @author
*
*/
public class CopyTxt {
public static void main(String[] args) {
copy("abc.txt","abc-copy.txt");
}
public static void copy(String srcPath,String destPath) {
//1、创建源
File src = new File(srcPath); //源头
File dest = new File(destPath);//目的地
//2、选择流
try( BufferedReader br=new BufferedReader(new FileReader(src));
BufferedWriter bw =new BufferedWriter( new FileWriter(dest)); ) {
//3、操作 (逐行读取)
String line =null;
while((line=br.readLine())!=null) {
bw.write(line); //逐行写出
bw.newLine();
}
bw.flush();
}catch(FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
}