java_IO之输入输出字节流copyFile

java_IO之输入输出字节流copyFile

了解输入输出流

InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的父类。
定义了所有输入流都具有的共同特征。
OutputStream(二进制格式操作):抽象类,基于字节的输出操作。
是所有输出流的父类。定义了所有输出流都具有的共同特征。

字节流复制文件的类

FileInputSream:文件输入流(继承InputStream)。它通常用于对文件进行读取操作。
File:对指定目录的文件进行操作。

FileoutputSream:文件输入流(继承OutputStream)。它通常用于对文件进行读取操作。
File:对指定目录的文件进行操作。File类虽然是在IO包下,但是并不继承自四大基础类。

实例:

import java.io.*;

public class Question1 {
    public static void main(String[] args) {
//        1.	文件拷贝
//                在某一路径下创建txt文件
//  在相同路径下实现该txt文件的拷贝同时向复制完成文件追加“拷贝完成”字样。
        File file = new File("./src/test01");
        File filecopy = new File("testcopy.txt");
        if (!filecopy.exists()){
            try {
                //如果不存在,则创建文件
                filecopy.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
      /*
      InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有输入流的父类。
      定义了所有输入流都具有的共同特征。
      OutputStream(二进制格式操作):抽象类,基于字节的输出操作。
      是所有输出流的父类。定义了所有输出流都具有的共同特征。
       */
        InputStream is =null;
        OutputStream os  =null;
        try {
//            FileInputSream:文件输入流。它通常用于对文件进行读取操作
//          File:对指定目录的文件进行操作。
//          类虽然是在IO包下,但是并不继承自四大基础类。
            is = new FileInputStream(file);
            os = new FileOutputStream(filecopy);
            byte [] bytes = new byte[1024];
            int num;
            while ((num=is.read(bytes) )!=-1){
                os.write(bytes);
                os.flush();//刷新缓存
            }
            byte[] byte1 = "拷贝完成\n".getBytes();//字符串转换成字节组
            os.write(byte1);
            os.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                is.close();
                os.close();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值