A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

1.客户端代码

public class UploadPicClient {

        public static void main(String[] args) throws UnknownHostException, IOException {
                // TODO Auto-generated method stub
                //1,创建客户端socket
                Socket s = new Socket("localhost",10088);
                //2,读取客户端要上传的图片文件
                FileInputStream fis = new FileInputStream("D:\\workspace\\day2019.1.17\\lanjing.jpg");
                //3,获取Socket输出流,将读到的图片的数据发送到服务端
                OutputStream out = s.getOutputStream();
               
                byte[] buf = new byte[1021];
                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 lenIn = in.read(buf);
                String text = new String (buf,0,lenIn);
                System.out.println(text);
               
                //关闭资源
                fis.close();
                s.close();
        }

}

2,服务端代码

public class UploadPicSever {

        public static void main(String[] args) throws IOException {
                // TODO Auto-generated method stub
                //创建tcp的socket服务端
                ServerSocket ss = new ServerSocket(10088);
                //获取客户端
                Socket s = ss.accept();
                String ip = s.getInetAddress().getHostAddress();
                System.out.println(ip+".....connected");
                //读取客户端发来的数据
                InputStream in = s.getInputStream();
                //将读取到的数据存储到一个文件中。
                File dir = new File("D:\\workspace\\day2019.1.17");
                if(!dir.exists()){
                        dir.mkdirs();
                }
                File file = new File(dir,"blue.jpg");
                FileOutputStream fos = new FileOutputStream(file);
                byte[] buf = new byte[1024];
                int len = 0;
                while ((len=in.read(buf))!=-1){
                        fos.write(buf,0,len);
                }
               
                //获取socket输出流,将上传成功字样发送给客户端
                OutputStream out = s.getOutputStream();
                out.write("上传成功".getBytes());
               
                fos.close();
                s.close();
                ss.close();
        }

}


---------------------
【转载,仅作分享,侵删】
作者:lzq1326253299
原文:https://blog.csdn.net/lzq1326253299/article/details/86528524
版权声明:本文为博主原创文章,转载请附上博文链接!

1 个回复

倒序浏览
奈斯,感谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马