黑马程序员—TCP-上传图片小例子

来源:互联网 发布:黑马程序员java培训 编辑:程序博客网 时间:2024/04/28 03:34

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------


写着两个程序是我是卸载两个java文件下的,而且这两个文件分别放在了两个不同的目录下,也就是同时打开两个MyEclipse窗口,这样有利于调试,查看效果更明显。

package twenty_four;
import java.io.*;
import java.net.*;;
/*客户端:
 * 1.服务端点
 * 2.读取客户端已有的图片数据。
 * 3.通过Socket输出流将数据发给服务端。
 * 4.读取服务端反馈端信息。
 * 5.关闭。
 * */

客户端:
public class PicClient1 {
public static void main(String[] args)throws Exception {
Socket s=new Socket("192.168.106.88",40008);
FileInputStream fis=new FileInputStream("D:\\图片\\自己喜欢的\\荷花.gif");
OutputStream out =s.getOutputStream();
byte[]buf=new byte[1024];
int len=0;
while((len=fis.read(buf))!=-1)
{
out.write(buf,0,len);
}
s.shutdownOutput();//告诉服务端数据已写完。
InputStream in=s.getInputStream();
byte[]bufin=new byte[1024];
int num=in.read(bufin);
System.out.println(new String(bufin,0,num));
fis.close();
s.close();
}
}

服务端:

package twenty_four;
import java.io.*;
import java.net.*;
public class PicServer1 {
public static void main(String[] args) throws Exception{
ServerSocket ss=new ServerSocket(60500);
Socket s=ss.accept();
InputStream in=s.getInputStream();
FileOutputStream fos=new FileOutputStream("server.gif");
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());
fos.close();
s.close();
ss.close();
}


}

------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------



0 0
原创粉丝点击