本帖最后由 杨银川 于 2011-12-21 18:28 编辑
public void run() {
// TODO Auto-generated method stub
String ip=s.getInetAddress().getHostAddress();
try {
System.out.println("ip:"+ip);
InputStream in=s.getInputStream();
FileOutputStream fos=new FileOutputStream("D:\\Test\\test\\server.jpg");
byte[] buf=new byte[1024];
int len=0;
while((len=in.read(buf))!=-1){
fos.write(buf, 0, len);
}
//反馈
OutputStream out=s.getOutputStream();
out.write("上传成功".getBytes());
s.close();
fos.close();
} catch (Exception e) {
// TODO: handle exception
throw new RuntimeException(ip+"上传失败");
}
以上是我写的上传图片部分代码,我的问题是如果把fos.close();换成in.close(),怎么图片是0kb,我是在最后关的啊,应该是把数据都读写完了,再关的,怎么一个数据都没读到,是不是多线程执行的问题啊? |
|