java如何实现对stream的截取 我有个文件转为 stream流, 我想截取其中这个stream的一段。利用offset length之类的参数,我看了下 方法只有read(byte[],int,int)之类的方法不能直接返回 stream 而是个字节数组我应该怎么实现我的要功能 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java.nio.channels.FileChannal fc=myFileStream.getChannal();myFileStream可以是FileInputStream,FileOutputStream和RandomAccessFile三者之一.其中,RandomAccessFile本身就可以随机定位和读写.有关FileCannal请楼主自己查API.我没有用过.挺烦的. 如果楼主要截取的那段数据,是固定大小的话,我到还有个办法。int size = 5120;//这个就是那段数据的固定大小。InputStream in = .....byte [] buff = new byte[size];int count = in.read(buff,offset,len);InputStream neededIn = ByteArrayInputStream(buff);//这个neededIn就是楼主要的InputStream其实就是创建一个缓冲区,然后把它封装成InputStream,如果数据太大,就要另想办法。我的意见,楼主不如直接调用in.skip(offset)方法,直接跳到你要读取的那段数据区域,然后根据实际情况直接使用就行了。 RandomAccessFile等下去看下api,试下看 关于 try 和 catch 代码块的小疑问?? 请多多指教 一道关于clone的问题 java截取网站图片的问题 jsp连接sqlserver2000的问题 编程基础问题 在线等待~~~~Java程序又卡了~~~~.. 菜鸟问题 请问JDK安装后需要设置什么? javaScript与javaBean的交互问题? 请问程序设计中callback是什么意思呢? 我在执行javac命令的时候没有问题,但是在执行java命令的时候却报如下错误 java能不能在程序中调用flash? 引用classpath下面的包错误
其中,RandomAccessFile本身就可以随机定位和读写.有关FileCannal请楼主自己查API.我没有用过.挺烦的.
InputStream in = .....
byte [] buff = new byte[size];
int count = in.read(buff,offset,len);
InputStream neededIn = ByteArrayInputStream(buff);
//这个neededIn就是楼主要的InputStream其实就是创建一个缓冲区,然后把它封装成InputStream,如果数据太大,就要另想办法。
我的意见,楼主不如直接调用in.skip(offset)方法,直接跳到你要读取的那段数据区域,
然后根据实际情况直接使用就行了。