java 完美读取字节流 实例
来源:互联网 发布:mac贴膜会影响散热吗 编辑:程序博客网 时间:2024/05/17 23:07
在使用BufferedInputStream读取字节流是,若最后剩余的字节数,小于指定读取的字节数,则返回的字节数组的内容长度仍然是指定的字节数,这时若写入新的文件,或者写
入socket时,则会出现目标文件比原文件多几个字节,并不是和原文件一模一样的大小。下面的例子可以完美的解决这个问题。^_^
@Overridepublic void run() {try {FileInputStream fis = null;BufferedInputStream bis = null;fis = new FileInputStream(filepath);if (fis != null) {bis = new BufferedInputStream(fis);}if (bis != null) {byte[] bs = new byte[512];while(bis.available() > 512) {bis.read(bs);ByteBuffer src = ByteBuffer.wrap(bs);// write data to client socket channellsockChannel.write(src);Arrays.fill(bs, (byte)0);}// 处理不足512的剩余部分int remain = bis.available(); byte[] last = new byte[remain];bis.read(last);lsockChannel.write(ByteBuffer.wrap(last)); bis.close();fis.close();lsockChannel.close();}} catch (Exception e) {e.printStackTrace();}}
- java 完美读取字节流 实例
- java 完美读取字节流 实例
- Java IO流字节读取
- java 字节流读取图片,字符流读取,二进制读取
- java 字节流读取图片,字符流读取,二进制读取
- java 字节流读取图片,字符流读取,二进制读取
- java 字节流读取图片,字符流读取,二进制读取
- java 字节流读取图片,字符流读取,二进制读取
- 通过java字节流复制文件,逐个字节读取写入
- java缓冲字节流复制文件,逐个字节读取、写入
- Java使用字节流读取数据
- Java IO字节流读取文件总结
- Java 字节流 读取和写入
- 字节流--读取、录入、拷贝文件实例
- java Socket完美实例
- java Socket完美实例
- Java字节流和字符流实例
- JAVA IO字节输入输出流实例
- solrj教程
- os.path模块学习
- chrome源代码目录结构简介(版本4.1.249.1059)
- 设计模式学习笔记之Factory模式
- 另一种阶乘问题
- java 完美读取字节流 实例
- Servlet 过滤器应用实例二 检查登录信息并向客户端返回script
- 24点计算 --- 庞果
- 常用的android弹出对话框
- XMPP文档
- java解压乱码
- iOS 错误处理 (二)
- UITableViewCellAccessoryCheckmark标记的使用
- Android上成功实现了蓝牙的一些Profile .