以字节流接受键盘输入后写入文件,并以缓冲字节流复制文件

一、代码及解释

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;


public class Main {
    public static int getValidLength(byte[] bytes){//获得缓存区中实际字节长
        int i = 0;
        if (null == bytes || 0 == bytes.length)
            return i ;
        for (; i < bytes.length; i++) {
            if (bytes[i] == '\0'||bytes[i] == '\n')
                break;
        }
        return i-1 ;
    }
    public static void main(String[] args) throws IOException {
        File f1=new File("E:\\mytext.txt");//源文件
        File f2=new File("E:\\mynewtxt.txt");//目标文件

        InputStream is=System.in;//从键盘输入,以字节流
        FileOutputStream os=new FileOutputStream(f1,true);//追加的形式
        byte []bt=new byte[1024];//缓存字节数组
        is.read(bt);//读入数组
        os.write(bt,0,getValidLength(bt));//写入时忽略的空的字节

        BufferedReader br=new BufferedReader(new FileReader(f1));//读源文件流
        BufferedWriter wr=new BufferedWriter(new FileWriter(f2));//写源文件流
        String s1=null;//缓存字符串
        while((s1=br.readLine())!=null) {//写
            wr.write(s1);//写
        }
        br.close();
        wr.close();

    }

}

二、结果

这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/hanzhenbushihu/article/details/80792230
今日推荐