8 个解决方案
#1
你自己试试不就知道了
#2
显然是可以的,在访问文件速度极快的情况下,这样做并没有太大的优势
#3
我试了·,打开三个流,然后skip到段开始的位置。
这样每一个流都是打开再skip到起始位置,我觉得skip很浪费,因为读后边的段,前边的段重复skip了。
有没有更好的办法?
文件在磁盘上,每段数据都挺多的。
#4
把大文件拆分成3个小文件不行吗
#5
RandomAccessFile可以试试这个类
#6
seek会不会有隐藏buffer?我看的资料上说seek代价很大,要慎用,它主要是哪些方面的代价呢?打开一次文件,文件上只有一个指针吧?可以设置多个指针吗?
#7
你可以把它转化成ByteBuff来读。
ByteBuff里面有一个slice可以分片的。
分成三份就好了。嘿嘿
ByteBuff里面有一个slice可以分片的。
分成三份就好了。嘿嘿
#8
文件多大? 不大的话,一次性多读一些数据,存到buffer里面,以后再用,从buffer里面取就行了。
不要用多个inputstream打开同一个文件,一般来说这没有意义,硬盘的一个盘片只有一个读写头,
你这样只能造成读写头来回乱跑(切换磁道),而切换磁道很浪费时间。
当然,如果是固态硬盘就没有切换磁道的问题了。
不要用多个inputstream打开同一个文件,一般来说这没有意义,硬盘的一个盘片只有一个读写头,
你这样只能造成读写头来回乱跑(切换磁道),而切换磁道很浪费时间。
当然,如果是固态硬盘就没有切换磁道的问题了。
#1
你自己试试不就知道了
#2
显然是可以的,在访问文件速度极快的情况下,这样做并没有太大的优势
#3
你自己试试不就知道了
我试了·,打开三个流,然后skip到段开始的位置。
这样每一个流都是打开再skip到起始位置,我觉得skip很浪费,因为读后边的段,前边的段重复skip了。
有没有更好的办法?
文件在磁盘上,每段数据都挺多的。
#4
你自己试试不就知道了
我试了·,打开三个流,然后skip到段开始的位置。
这样每一个流都是打开再skip到起始位置,我觉得skip很浪费,因为读后边的段,前边的段重复skip了。
有没有更好的办法?
文件在磁盘上,每段数据都挺多的。
把大文件拆分成3个小文件不行吗
#5
RandomAccessFile可以试试这个类
#6
seek会不会有隐藏buffer?我看的资料上说seek代价很大,要慎用,它主要是哪些方面的代价呢?打开一次文件,文件上只有一个指针吧?可以设置多个指针吗?
#7
你可以把它转化成ByteBuff来读。
ByteBuff里面有一个slice可以分片的。
分成三份就好了。嘿嘿
ByteBuff里面有一个slice可以分片的。
分成三份就好了。嘿嘿
#8
文件多大? 不大的话,一次性多读一些数据,存到buffer里面,以后再用,从buffer里面取就行了。
不要用多个inputstream打开同一个文件,一般来说这没有意义,硬盘的一个盘片只有一个读写头,
你这样只能造成读写头来回乱跑(切换磁道),而切换磁道很浪费时间。
当然,如果是固态硬盘就没有切换磁道的问题了。
不要用多个inputstream打开同一个文件,一般来说这没有意义,硬盘的一个盘片只有一个读写头,
你这样只能造成读写头来回乱跑(切换磁道),而切换磁道很浪费时间。
当然,如果是固态硬盘就没有切换磁道的问题了。