黑马程序员技术交流社区

标题: RandomAccessFile流关闭的问题? [打印本页]

作者: 王军行    时间: 2013-3-29 08:08
标题: RandomAccessFile流关闭的问题?
本帖最后由 王军行 于 2013-3-29 09:27 编辑

毕老师视频上说这个RandomAccessFile可以模拟多线程下载,我搞了快半个小时弄出个多线程复制文件
一个类实现Runnable
构造传入一个源文件File和一个目的文件加上你要的线程数int  c
初始化建立了两个RandomAccessFile对象
我把读写操作和读写用的byte数组创建封装到了Run方法中
然后封装了个copy方法来实现建立c个线程,每建立一个线程指针后移  Math. cile( 源文件长度除以c)
然后实验了下,发现可以完成还挺快的一个多G的文件复制也就八秒多
我想完善他的时候发现不知道这个流应该在什么时候关闭了?
只能等虚拟机退出了吗?
作者: 张世钦    时间: 2013-3-29 09:00
既然是多线程   每个线程都有自己的RandomAccessFile     每个线程copy完了就关自己的流就行了呗
作者: 我手心里的宝    时间: 2013-3-29 09:07
最好把你的代码贴一下,贴一下更直观
贴出来给你找问题
作者: 王军行    时间: 2013-3-29 09:29
本帖最后由 王军行 于 2013-3-29 09:32 编辑
张世钦 发表于 2013-3-29 09:00
既然是多线程   每个线程都有自己的RandomAccessFile     每个线程copy完了就关自己的流就行了呗 ...

嗯,明白了,顺便问一下,如果我只用一个RandomAccessFile 多个线程调用这个对象的读写方法,这样算开启了多线程读写吗?
我试了下。数据没有出错。它开启了多个读写流吗?





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2