使用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。 给定一个字符串text,将其所有的连续数字串提取到字符串数组String[] array的最好方法 java 不是说抽象类不可能生成对象吗?有点小疑惑 [求助] 正则表达式和转义字符 菜鸟超简单的一道题,简单到我都不忍加分了呵呵 一道面试题 自己想的一个排序算法 大家帮忙看看 ResultSet转换成String[][] 50分!!!! SOS !! JTable表格对数据库的增删改查 Java中有可以读取CPU的利用率的接口么? JAVA Scanner与BufferedReader JAVA基础 java 一个类中的方法调用另一个类的方法返回空值,怎么解决?
<file name="hello" type = "bmp" length="138900"/>这样的描述数据 标示大小 类型 长度等
http://tkxxd.net/thread-307-1-1.html。