java IO流,通过文件字符流FileReader、FileWriter实现内容的复制

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();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值