byte[] buf=new byte[1024];
int len =0;
while((len =in.read(buf))!=-1){
out.write (new String(buf,0,len).getbyte ());
这样导致我的图片打不开,然后我把最后一行代码改成了
out.write(buf,0,len);
为什么会出现这样的情况喃,大佬求解,萌新小白卑微求答。
int len =0;
while((len =in.read(buf))!=-1){
out.write (new String(buf,0,len).getbyte ());
这样导致我的图片打不开,然后我把最后一行代码改成了
out.write(buf,0,len);
为什么会出现这样的情况喃,大佬求解,萌新小白卑微求答。
我觉得应该是和你读取有关
static byte[] encode(String charsetName, char[] ca, int off, int len)
throws UnsupportedEncodingException
{
StringEncoder se = deref(encoder);
String csn = (charsetName == null) ? "ISO-8859-1" : charsetName;
if ((se == null) || !(csn.equals(se.requestedCharsetName())
|| csn.equals(se.charsetName()))) {
se = null;
try {
Charset cs = lookupCharset(csn);
if (cs != null)
se = new StringEncoder(cs, csn);
} catch (IllegalCharsetNameException x) {}
if (se == null)
throw new UnsupportedEncodingException (csn);
set(encoder, se);
}
return se.encode(ca, off, len);
}