字节输入输出流,字符输入输出流

IO流按功能分为节点流 处理流

 节点流:可以从或向一个特定的地方读写字节数据;

处理流:对一个已经存在的流的连接和封装,通过所封装的流的功能调用实现数据重写。

 

1.字节输入流InputStream,   void close; int read() ; 

2.文件输入流FileInputStream

3.字节输出流 OutputStream,抽象类不能实例化对象。void close();void flush()刷新此输出流并强制写出所有缓冲的输出字节。

4.文件输出流 FileOutputStream 

5.字符输入流 Reader 所有输入流的父类,是抽象类不能实例化对象。使用他的子类FileReader;

6.字符输出流 writer 所有字符输出流的父类,是一个抽象类不能实例化对象 同样是使用子类FildWriter

1.使用字节流复制文件

public static void copy1() throws Exception{
		//1创建字节文件输入输出流
		InputStream is=new FileInputStream("d:\\003.jpg");
		OutputStream os=new FileOutputStream("d:\\004.jpg");
		//2读、写
		byte[] buf=new byte[1024*4];
		int len=0;
		while((len=is.read(buf))!=-1){
			//buf缓冲区,0从第一个位置写,len写的长度
			os.write(buf,0,len);
		}
		//3关闭
		is.close();
		os.close();
		System.out.println("复制完成");
	}

 2.使用字符流复制文件

 

	public static void copy2() throws Exception{
		//1创建字符输入输出流
		Reader reader=new FileReader("d:\\003.jpg");
		Writer writer=new FileWriter("d:\\005.jpg");
		//2读写
   	        char[] buf=new char[1024*4];
		int len=0;
		while((len=reader.read(buf))!=-1){
			writer.write(buf, 0, len);
		}
		//3关闭
		reader.close();
		writer.close();
		System.out.println("复制完成");
		
	}

 如果复制的文件是文本文件,用字节流和字符流都可以

如果复制的是图片,音乐视频 使用字节流复制

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值