BufferedReader
提供方法readLine()——读一行文字(自己去找换行符)
package com.io.cx3;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/**
* 四个步骤: 分段读取 文件字符输入流 加入缓冲流
* 1、创建源
* 2、选择流
* 3、操作
* 4、释放资源
*/
public class buff2 {
public static void main(String[] args) {
//1、创建源
File src = new File("dest.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();
}
}
}
}
BufferedWriter
注:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入
提供方法newLine()——写一行行分隔符(换行符)
package com.io.cx3;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
/**
* 文件字符输出流 加入缓冲流
*1、创建源
*2、选择流
*3、操作(写出内容)
*4、释放资源
*/
public class buff3 {
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("新建的文件1");
writer.newLine();
writer.append("新建的文件2");
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.io.cx3;
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;
/**
* 文件拷贝:文件字符输入、输出流
*/
public class txt {
public static void main(String[] args) {
copy("dest.txt","copy.txt");
}
public static void copy(String srcPath,String destPath) {
//1、创建源
File src = new File(srcPath); //源头
File dest = new File(destPath);//目的地
//2、选择流——用JDK1.7进行释放
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();
}
}
}