我会做这样的事情:
//服务器处理程序
File file = new File(fileName); FileInputStream fin = new FileInputStream(file); // dout.writeUTF(fileName); byte[] readData = new byte[1024]; fin.read(readData); fin.close(); dout.write(readData, 0, readData.length); dout.flush(); //ta.appendText("nImage Has Been Sent"); dout.flush(); fin.close(); }catch(IOException ex) {System.out.println("Image ::"+ex);} }//接收图片
if(extn.equals(".jpg") || extn.equals(".gif")) {//give path to new file File file = new File(".//Downloaded"+str); FileOutputStream fout = new FileOutputStream(file); //receive and save image from client byte[] readData = new byte[1024]; int offset =0; while((i = dis.read(readData,0,readData.length-offset)) != -1){ offset += i; } fout.write(readData, 0, readData.length); if(flag==1) { ta.append("Image Has Been Downloaded"); flag=0; } fout.flush(); fout.close(); } }


