使用FileInputStream和FileOutputStream实现文件的复制

FileInputStream和FileOutputStream是比较简单的输入和输出流。对于输入和出流的理解下面我用图示的方法给大家说明


从上图中我们可以看到FileInputStream和FileOutputStream建立起了文件和内存的单行道。FileInputStream只能将数据从外存读到内存,FileOutputStream只能从内存将数据读到外存。

根据他们的特点我写了一个具有文件复制功能的程序,程序简单,初学者应该比较好理解

public void copy() {
		// 根据文件所在位置建立一个新的文件对象
		File inFile = new File("D:\\1.doc");
		File outFile = new File("D:\\2.doc");
		// 根据文件对象创建一个输出流
		try {
			FileInputStream fis = new FileInputStream(inFile);
			FileOutputStream fos = new FileOutputStream(outFile);

			// 声明个Byte数组用于存放数据

			byte[] bt = new byte[1];

			int hasNext = 1;
                        //考虑到数组的长度限制问题,我们不能讲文件中的数据一次性读入或者读出,所以这里我们使用循环处理
			while (hasNext != -1) {

				hasNext = fis.read(bt);
				fos.write(bt);

			}
			fos.flush();
			fos.close();
			fis.close();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

上面这个函数实现了文件的复制,代码不多。比较容易理解

 

 

 


 

  • 大小: 20.3 KB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值