案例:字符流复制Java文件及改进版

下面的示例与图上的文件名不相同,不影响具体操作。代码实现:

public class CopyJavaDemo {
    public static void main(String[] args)throws IOException {
        //根据数据源创建字符输入流对象
        InputStreamReader isr = new InputStreamReader(new FileInputStream("myFile\\CopyAviDemo.java"));

        //根据目的地创建字符输出流对象
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("myFile\\Copy.java"));

        //读写数据,复制文件
        //一次读写一个字符数据
//        int ch;
//        while ((ch = isr.read())!=-1){
//            osw.write(ch);
//        }
        //一次读写一个字符数组数据
        char[] chs = new char[1024];
        int len;
        while ((len=isr.read(chs))!=-1){
            osw.write(chs,0,len);
        }

        //释放资源
        isr.close();
        osw.close();
    }
}

 


 

改进版案例:

public class CopyJavaDemo2 {
    public static void main(String[] args) throws IOException {
        //根据数据源创建字符输入流对象
        FileReader fr = new FileReader("myFile\\CopyAviDemo.java");

        //根据目的地创建字符输出流对象
        FileWriter fw = new FileWriter("myFile\\Copy.java");

        int ch;
        while((ch=fr.read())!=-1){
            fw.write(ch);
        }

        fr.close();
        fw.close();
    }
}

使用上述代码创建代码使代码更简洁,运行结果与上面为改进的版本一样。

posted @ 2020-04-16 13:06  硬盘红了  阅读(168)  评论(0编辑  收藏  举报