java--我的IO流初体验

简单的学习了关于IO的一些知识和使用。感觉学了IO最大的体验就是开始尝试利用代码去操作文件而不是单纯的用鼠标操作,毕竟这样感觉起来更加会接近程序员。IO流即输入流和输出流,用处有很多。今天学习的是如何利用IO去读写文件和实现了文件的复制和粘贴。值得注意的是IO在写的时候很容易产生异常,所以要记得去精彩检查并且捕捉这些异常。
1.文件的读取
[img]http://dl2.iteye.com/upload/attachment/0098/9851/86c6cde6-98ba-3b37-af27-d02c11459621.jpg[/img]

[img]http://dl2.iteye.com/upload/attachment/0098/9859/8ce7dfee-973a-3af6-8678-16fe48ec7c26.jpg[/img]
此方法是用来读取指定路径的文件的,暂时不支持读取文件夹。有两种方式去实现这个方法。第一个是一个字节一个字节的去读写文件,最后将其读完并且打印输出。但是需要注意的的是,这种方法碰到较大的文件的是时候会运行的很慢,为了解决它,所以采用一个新的方式,那就是一次读完。速度很快但是不安全,碰到很大的文件的时候就可能会内存溢出。

2.文件的复制粘贴

[img]http://dl2.iteye.com/upload/attachment/0098/9876/f2e0838e-94d7-3aaf-b531-a350b9174818.jpg[/img]

[img]http://dl2.iteye.com/upload/attachment/0098/9878/69f2d8f7-54cd-3faf-a092-c957e7aa3746.jpg[/img]
此方法实现起来和第一个差不多,多出了一个输出流对象,作用就是把输入流输入的东西输出去。重点在如何控制速度上面,因为一个一个的字节传输的话,速度实在是太慢了。所以我们选择创造一个字节数组byte[] dates去保存输入流传进来的东西i=fis.read(dates),考虑到一次就写完的话内存可能会溢出,所以我们创建数组的时候给他限制大小就行可以了new byte[1024*1024],长度适当取定,再用while循环将其一堆一堆的输入输出即可达到目的。


今天学的东西总结完毕,总之要学的东西还有很多~~加油
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值