听说读取图片时不能直接转换成String,会丢失信息?有具体的解决办法吗?
解决方案 »
- javascript客户端与服务器端消息传递
- 对象和对象变量的问题
- java我用double型定2.33,3.22这样几个数但运行2.33,3.22这样的数与int的数字相乘后,会变结果6.20000000000001
- CVS如何取得一个老的版本,比如说以某个时间点为界限(在线等到7.30)
- SocketInputStream 的问题
- 一个很菜的问题
- 请问 数据库中的数据如何在Java界面的JTable组件中显示出来???(在线等待回复)
- 关于jdbc数据库程序生成jar得问题,请一定要帮忙看看。
- 在学习java中我有个小的疑问。书上说Applet的start,stop在网页跳转到别的页面,在返回是调用,但我在做例子的时候并不是这样....
- java new一个对象属性值为空的小问题,在线等
- 这样的写法正确吗?
- 一有 package 就运行错误!求救啊,我想了一个下午了……
不都是用的byte位啊!
{
//s是String
s = s + new String(b, 0, n);
}
用循环读时不转换,放在那?
大的话用缓冲
InputStream is = new FileInputStream("xx.xxx");
FileOutputStream fos = new FileOutputStream(new File("pp.gif"));
byte[]b=new byte[1024];
ByteArrayOutputStream baos = new ByteArrayOutputStream();
while(true){
int bytes = is.read(b);
if(bytes==-1)
break;
baos.write(b,0,bytes);
} byte[]bb = baos.toByteArray();
fos.write(bb,0,bb.length);
fos.close();
baos.close();
如果有时间请解释一下,为什么“baos.write(b,0,bytes);”写到byte[]b中后,“byte[]bb = baos.toByteArray();”是干什么用的?是将缓冲区中的数据写到byte[]bb吗?也就是说byte[]b相当于缓冲区?
bb是存放整个文件数据的
已经到web块接分