使用socket传送文件时,如何把文件名和文件类型也通过socket传送给服务器? 使用socket传送文件时,通过流可以传送文件,这个没什么难度。但是传送了文件之后,确无法知道此文件是什么类型的(比如是txt?bmp?ppt?),导致无法将此文件正确命名,请问如何把文件名和文件类型也通过socket传送给服务器?谢谢大家! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你在传送的时候一般要先把文件名如123.txt单独的文件头流传给对方,对方接受到文件名后再要求你传送数据流,涉及到接受方要判断数据流是什么数据头还是文件本身。 用xml描述一下,在每段数据包前加入<file name="hello" type = "bmp" length="138900"/>这样的描述数据 标示大小 类型 长度等 如果楼主不嫌麻烦的话,可以先用File类里面的getName先获得文件的名字(fileName),然后把fileName作为参数传递过去,这样名字和文件类型都在里面了。至于传文件内容你是没有问题的 学会面向对象的编程方式,传输文件的时候不是非要用字节流的。用对象流一样可以。你可以自己封装一个专门用于传输文件的FileObject实现Serializable接口。里面可以有文件名,文件大小等等属性,文件数据则可以用byte[]来保存,你用socket传这个对象过去,另一端在解析成这个对象不就能取出他的文件名,文件大小,以及此次传输的文件数据。 虽然对象流是可以,但是当是大文件的时候呢?你的byte数组会有多大啊,大哥 我不是说了吗不是一次性就把整个文件数据都放进去的,跟传输流一样的这次读多少个byte放到byte[]中传输到接收端。你传文件不也是先开文件读取流,读一段写到socket中去吗,一样的道理读一段就放到这个FileObject的byte[]中写到socket中去 借鉴http文件上传时的传输方式。 http://tkxxd.net/thread-307-1-1.html。 socket传输文件,请帮我看一下是哪的问题 JMF 怎么 获得 MP3文件的总时长?? 请问为什么JPanel中drawImage()画不出图片 JTree添加节点 新手问题,高手帮帮忙啊!! JAVA 序列化图像文件数据到byte[]数组,反序列化,写入数据后,错误 怎样给数据库中的自增字段赋值?????? 谁能帮我解释一下下面的程序。。。。。。。。 用各种高级输出流向底层输出流写东西,请问流内容是否会紊乱? 菜鸟请问<Thinking In Java>中的RMI例程PerfectTime的运行问题 JAVA基础 java 一个类中的方法调用另一个类的方法返回空值,怎么解决?
<file name="hello" type = "bmp" length="138900"/>这样的描述数据 标示大小 类型 长度等
http://tkxxd.net/thread-307-1-1.html。