java接收二进制数据_java-从套接字读取二进制数据
我正在尝试连接到服务器,然后向其发送HTTP请求(在这种情况下为GET).这个想法是请求一个文件,然后从服务器接收它.
它应同时适用于文本文件和二进制文件(例如imgs).我对文本文件没有任何问题,它可以完美工作,但是对二进制文件有一些麻烦.
首先,我声明一个BufferedReader(用于读取标题和文本文件)和一个DataInput流:
BufferedReader in_text = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
DataInputStream in_binary = new DataInputStream(
new BufferedInputStream(socket.getInputStream()));
然后,我用in_text读取标题,并发现它是文本文件还是二进制文件.如果是文本文件,我可以在StringBuilder中正确读取.如果是二进制文件,我声明一个byte [filesize]并存储in_binary的以下内容.
byte[] bindata = new byte[filesize];
in_binary.readFully(bindata);
而且它不起作用.我收到一个EOFException.
我以为in_binary可能仍在流的第一个位置,因此它尚未读取标头.因此,我捕获了标头的长度,并跳过了in_binary中的字节.
byte[] bindata = new byte[filesize];
in_binary.reset();
in_binary.skip(headersize);
in_binary.readFully(bindata);
而且还是一样.
可能会发生什么?
谢谢!
PD:我知道我可以使用URLConnection等.那不是问题.
java接收二进制数据_java-从套接字读取二进制数据相关推荐
- java在mysql读取数据库数据库数据_JAVA的JDBC连接数据库以及读取数据库数据
一.下载数据库JDBC驱动 1.1:Mysql驱动 https://dev.mysql.com/downloads/connector/ 下载得到的是一个压缩包,解压后到里面寻找文件:mysql-co ...
- 解决“无法从套接字读取更多数据”
重启下Oralce服务即可. 转载于:https://www.cnblogs.com/fkeyta/p/9153297.html
- java套接字客户端_使用Java从客户端套接字读取数据(Read data from a client socket in Java)...
使用Java从客户端套接字读取数据(Read data from a client socket in Java) 我编写了从客户端套接字发送/接收数据的代码. 发送数据步骤已成功完成,但是当我想从套 ...
- oracle无法套接字读取,【[求助]无法从套接字读取更多的数据】-Oracle论坛-ZOL中关村在线...
数据库操作失败,SQL[alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'] Caused by: java.sql.SQLExcept ...
- nodejs 从TCP套接字读取并解析数据
我们在nodejs的应用代码里,监听TCP socket的data事件.当套接字上有数据到达时,注册的事件处理函数被回调. 可读取的数据以ArrayBuffer的格式显示在Visual Studio ...
- 原始套接字发送ARP数据包
什么是ARP协议 ARP协议是Address Resolution Protocol(地址解析协议)的缩写.在局域网中,网络中实际传输的是数据帧,数据帧里面有目的主机的MAC地址.但这个目的MAC地址 ...
- 【操作系统】磁盘转速速度为7200PRM,平均寻道时间为6ms,每磁道存储1MB数据。如果数据块大小为4KB,则读取一块数据时,数据平均传输速率为
磁盘转速速度为7200PRM,平均寻道时间为6ms,每磁道存储1MB数据.如果数据块大小为4KB,则读取一块数据时,数据平均传输速率为 背景知识 7200PRM = 7200r/min = 120r/ ...
- java使用原始套接字技术进行数据包截获_Linux零拷贝技术,看完这篇文章就懂了...
本文讲解 Linux 的零拷贝技术,云计算是一门很庞大的技术学科,融合了很多技术,Linux 算是比较基础的技术,所以,学好 Linux 对于云计算的学习会有比较大的帮助. 为什么需要零拷贝 传统的 ...
- Java基础23 网络编程 socket套接字流 TCP传输总结
一.网络编程的概念 1.计算机网络:将不同地区的计算机,使用网络来进行连接 实现不同地区的数据的交互与共享(互联时代) 2. 网络编程的三要素:IP地址 端口号 协议 3. ip地址:是在网络连接中 ...
最新文章
- XPE一般性组件整理
- 亚马逊外包平台的50万劳工:人工智能的背后,无尽数据集的建造
- excel可视化图表插件_Axure 教程:利用图表前端插件实现高级可视化图表
- 安装SQL2005只有配置工具或 错误码是29506 解决方案
- 【转】C/C++的64位整型 不同编译器间的比较
- 又烧一辆!蔚来ES8车库夜里起火 两个半小时才熄灭:现场惨烈
- poj 3243 Clever Y(Baby-Step Giant-Step)
- html 正方形代码,SVG rect
- caffe里的blocking_queue.hpp与.cpp干了点什么呢???
- Java文件的写入与读出
- MAC下 安装sqlmap教程
- Java解析XML并自动写入Excel
- python汉字排序_Python中文排序(转载)
- Windows清理助手ARSWP
- 在淘宝做前端的这三年 — 第二年
- Springsecurity+cas整合后无法单点登出
- 微信小程序创建项目后无法显示内容
- No module named 'torchvision.ops'的解决办法
- Java写一个excel工具类_Java中Excel写操作工具类--Java免费学习网
- Ubuntu 命令行常见指令
热门文章
- Lecture 13 Amortized Analysis
- [LeetCode] 3. Longest Substring Without Repeating Characters 题解
- Django 入门项目案例开发(中)
- Win2003磁盘分区调整
- python入门(5)使用文件编辑器编写代码并保存执行
- [转] 64位windows下添加postgreSQL odbc数据源
- (原)用pixi.js 实现 方块阵点击后原地自转效果
- Linux运维系统工程师系列---04
- 旧金山字体_旧金山建筑业的兴衰。 施工趋势与历史
- 脚本 api_从脚本到预测API