客户端服务端上传图片
今天学习的客户端和服务端上传图片,
客户端开发,代码如下:
package fileupload;import java.io.*;
import java.net.Socket;public class Client01 {public static void main(String[] args) throws IOException {Socket socket = new Socket("127.0.0.1", 6666);OutputStream os = socket.getOutputStream();BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\HeiMa\\IO\\地球.jpg"));byte[] bytes =new byte[1024];int len;while ((len=bis.read(bytes))!=-1){os.write(bytes);}System.out.println("--------------------");socket.shutdownOutput();InputStream is = socket.getInputStream();byte[] bytes1 = new byte[1024];int count;while ((count=is.read(bytes1))!=-1){System.out.println(new String(bytes1,0,count));}is.close();os.close();bis.close();socket.close();}
}
服务端,代码如下:
package fileupload;import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;public class Server01 {public static void main(String[] args) throws IOException {//创建ServerSocket对象ServerSocket serverSocket = new ServerSocket(6666);ExecutorService executorService = Executors.newFixedThreadPool(10);//读取客户端发送的请求while (true){executorService.submit(new Runnable() {Socket socket = serverSocket.accept();@Overridepublic void run() {try {InputStream is = socket.getInputStream();String name =System.currentTimeMillis()+".jpg";BufferedOutputStream bis = new BufferedOutputStream(new FileOutputStream("D:\\HeiMa\\IO\\java\\"+name));byte[] bytes =new byte[1024];int len;while ((len=is.read(bytes))!=-1){bis.write(bytes);}//响应客户端上传成功OutputStream os = socket.getOutputStream();os.write("上传成功".getBytes());socket.shutdownOutput();os.close();is.close();bis.close();socket.close();serverSocket.close();}catch (Exception e){e.printStackTrace();}}});}}
}
小白初学,欢迎多多批评指正!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
