java通过文件字符流FileReader、FileWriter实现内容的复制
package day1204;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
文件流:
文件字节输入/输出
文件字符输入/输出
案例:通过文件字符流,实现将demo.txt文件中的内容复制到指定demo_copy.txt中
*/
public class FileDemo01 {
public static void main(String[] args) throws IOException {
//1.创建源文件和目标文件的File对象,指明读写文件
//demo.txt和demo_copy.txt文件编码保持一致
File srcFile=new File("D:\\demo.txt");
File descFile=new File("D:\\demo_copy.txt");
//2.创建输入流和输出流,用于读写文件
FileReader reader=new FileReader(srcFile);//创建文件字符输入流,传入读取的文件对象-表明对srcFile做读
FileWriter writer=new FileWriter(descFile);//创建文件字符输出流,传入写出的对象---表明对descFile做写
//3.数据的读取和写出
/* FileReader中
int read() 返回读入一个字符,如果达到文件末尾,返回-1
FileWriter中
write(char c) 向文件中写入一个字符
*/
// int data;//存储每次读到的内容
// while((data=reader.read())!=-1){//当读到内容不等于-1表示文件还有内容
// //写
// writer.write((char)data);
// }
/*
int read(char[] cs) 返回每次输入数组中字符个数,如果达到文件末尾,返回-1
write(char[] cs,int offset,int length),将字符数组中的内容写入到文件中
offset:从数组中那个位置开始写 length:写多长
*/
char[] cs=new char[10];
int len;//每次读到字符个数
while((len=reader.read(cs))!=-1){
writer.write(cs,0,len);
}
//4.关闭流
reader.close();
writer.close();
}
}