首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

$$$问个文件传输有关问题

2011-12-04 
$$$问个文件传输问题如何将本地图片文件,转成字节码流后然后再 转成对象 用于 网络传输呢?[解决办法]javax

$$$问个文件传输问题
如何将本地图片文件,转成字节码流后
然后再 转成对象 用于 网络传输呢?


[解决办法]
javax.imageio.*;
里面的方法也许有用:
BufferedImage bImage = new BufferedImage(image.getWidth(), image
.getHeight(), BufferedImage.TYPE_INT_ARGB);
 
ByteArrayOutputStream out = new ByteArrayOutputStream();
try {
ImageIO.write(bImage, format, out);
} catch (IOException e) {
e.printStackTrace();
}
byte [] b = out.toByteArray();
b传过去,再转成图像,用FileOutpurStream 就好啦
FileOutputStream fos = new FileOutputStream(file);
for (int i = 0; i < b.length; i++) {
fos.write(b[i]);
}
fos.flush();
[解决办法]
为什么不用字节流直接传输?
如果把字节流转成对象,然后再网络传输,就是串行化操作了
这个对象应该实现串行化接口
关于串行化
[解决办法]

看看
[解决办法]
将文件转成字节流就可以传输了,不用转成对象再传输,这样会更麻烦。
使用文件IO操作,就可以将文件读取成字节流(字节数组)。
传输的话,要看楼主要用什么方式传了。
[解决办法]

探讨

socket
啊 呵呵

还是回到我问题的 起点,能把 字节流转成 对象吗?

然和 传对象过去,在用 objectinputstream  writeobject 出来。。

[解决办法]
小文件,直接读成字节数组,进行传输就行。
楼主说,你那里已经有线程的传输框架,不知道具体传输对象,使用的是什么类。
如果使用的是JDK中的ObjectOutputSteam的实现类对象的话,write方法就可以传输字节数组。
在Java当中,JDK所提供的文件类,没有实现Serializable接口,是不能够序列化的,
所以不能直接进行对象传输。但文件可以读取成字节数组,进行传输。
小文件,可以一次性读取到内存中,然后直接调用相关方法就可以传输。
大文件,要想办法实现文件的随机访问与传输。
如果楼主的框架不是使用的ObjectOutputStream进行传输,那就请楼主找找,有没有类似传输字节数组的方法。如果没有,楼主可以把字节数组封装的一个实现Serializable接口的类里面,这样,传输这个对象到服务端就可以了。
[解决办法]
不知道lz是怎么像你说的传图像的
[解决办法]
28楼的代码,其实还是可以优化一下的。比如,File对象,可以获得文件的大小(所占字节数)。
然后根据文件大小,创建一个byte[],然后直接把数据读到数组里就可以了,没必要创建那个out缓冲区。
[解决办法]
帮顶
[解决办法]
我是不是再揿一下别的门钉?”令狐申怯生生地说,目光从三个伙伴身上掠过。他还是称之为“门钉”,实际上,他已确凿无疑地弄明白了:这是放映全息电影的一个个按钮。
[解决办法]
探讨
引用:
28楼的代码,其实还是可以优化一下的。比如,File对象,可以获得文件的大小(所占字节数)。
然后根据文件大小,创建一个byte[],然后直接把数据读到数组里就可以了,没必要创建那个out缓冲区。

BufferedOutputStream(fstream);
看错了,这个buffer不是速度 快么 一次性 写入。。。。呵呵

[解决办法]
学习!
[解决办法]
路过,我不太懂
[解决办法]
友情帮顶
[解决办法]
java socket可以完成
[解决办法]
.
[解决办法]
看来我理解错意思啦
[解决办法]
很好,学习了,谢谢各位
[解决办法]
很好,学习了,谢谢各位
------解决方案--------------------


我是新手随便看看,谢谢楼主
[解决办法]
别用java的序列化,效率太差,直接用socket stream方式写出去就行了
[解决办法]

探讨
LV  GUCCI  香奈儿一比一包包 批发零售!
广州市天龙皮具厂成立于2002年。是一家有多年专业设计、生产、经营高档皮具系列产品的企业。主营LV,GUCCI,CHANEL,世界一线畅销品牌皮具产品。款式多,更新快,出货准时。质量保证,价格实惠,免费代发货至世界各地,欢迎世界各地客商及爱包包人士前来选购。 三个起批可以混批!
网址:http://www.aimosi.com
联系电话:15920907201
MSN:aimosi@live.cn
客服QQ:775035679      957840212 

[解决办法]
socket加stream
[解决办法]
好长,都没看大懂
[解决办法]
楼主的问题还没有解决么?
不知道现在还存在什么问题。
我今天编了一下午的代码,基于另一个帖子的问题,写了一个具有传输文件功能代码。
代码比较长,希望有经历的朋友可以多给我提提意见和建议。
连接是:使用ObjectOutputStream或ObjectInputStream传输文件
[解决办法]
学习了
[解决办法]
jf

热点排行