java中怎么在客户端与服务器之间以bytes(ByteBuffer)的方式拷贝二进制文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中怎么在客户端与服务器之间以bytes(ByteBuffer)的方式拷贝二进制文件?相关的知识,希望对你有一定的参考价值。

比如要从客户端传输一个a.jpg文件到服务器
客户端中具体把a.jpg转化成bytes然后服务器接收bytes到a.jpg
具体的代码应该是怎么样的?客户端与服务器之间靠的是ByteBuffer来传递的
不是inputstream 和outputstream
谢谢
没那么复杂
就是类似
FileInputStream fis = new FileInputStream("D:/a.jpg");
FileOutputStream fos = new FileOutputStream("D:/d.jpg");

byte[] bs = new byte[1024];
int len = -1;
while ((len = fis.read(bs)) != -1)
fos.write(bs, 0, len);

类似这种的拷贝 但是是从客户端拷贝到服务器 但不用inputstream 和outputstream
也就是说客户端与服务器之间传递的是byteBuffer buffer;
用buffer.put buffer.get这种

参考技术A 要用到java网络包,直接input/output不行
你得先httplink连接到服务器,取的数据头,然后才能用io进行传送

java socket实现两个客户段或多个客户端之间通信,该怎么解决

参考技术A javasocket有两种方式。一种是UDP这个可以直连,不需要服务器。一种是TCP这个是肯定要能过服务器来通信的。所以你说的。链接建立完毕后不再通过服务器!这个可以实现,但会麻烦一些。1.先说一下简单的点的吧。用TCP的方式。你所有的消息都是发给服务器。包含你的IP及通信端口,及对方的IP及通信端口信息。当然这些是隐藏在数据报中的。这样由服务器来进行分发。2.你说的那种方式有点类似TCP与UDP混合。首先启动一个SERVER然后每一个客户端,先要登陆SERVER,并在server上记录下你的IP及通信端口信息,如果你要连接某一个客户端。先要向服务器发出一个申请,获得到方的IP及端口信息,然后进行UDP连接。连接上以后,就是直接发送息,不需要服务器了。javasocket的东西,以前做过一些,所以有思路,但没有现成的代码。有问题再联系。本回答被提问者采纳

以上是关于java中怎么在客户端与服务器之间以bytes(ByteBuffer)的方式拷贝二进制文件?的主要内容,如果未能解决你的问题,请参考以下文章

java 中string与bytes的转换总结

[转]python str与bytes之间的转换

python str与bytes之间的转换

怎么在java中使用cookie

谁可以给我一个以C语言或者java写的两个客户端之间的聊天,服务器中转的聊天程序,急求啊~~~

05-Python的bytes类型介绍