package TCPfileCopy_; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class TcpFileCopyServer { public static void main(String[] args) throws IOException { byte[] bytes = new byte[1024]; int read; ServerSocket serverSocket = new ServerSocket(9999); System.out.println("服务端:" + serverSocket.getClass()); Socket accept = serverSocket.accept(); InputStream inputStream = accept.getInputStream(); BufferedInputStream bI = new BufferedInputStream(inputStream); ByteArrayOutputStream baos = new ByteArrayOutputStream(); while((read = bI.read(bytes))!= -1){ baos.write(bytes,0,read); } byte[] bytes1 = baos.toByteArray(); baos.close(); String filepath = "src\\aodi.jpg"; BufferedOutputStream bO = new BufferedOutputStream(new FileOutputStream(filepath)); bO.write(bytes1); bO.close(); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(accept.getOutputStream())); writer.write("收到图片"); writer.flush(); accept.shutdownOutput(); writer.close(); bI.close(); accept.close(); serverSocket.close(); System.out.println("服务端已退出"); } }
package TCPfileCopy_; import java.io.*; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; public class TcpFileCopyClient { public static void main(String[] args) throws Exception { byte[] bytes = new byte[1024]; int read; Socket socket = new Socket(InetAddress.getLocalHost(), 9999); System.out.println("客户端:" + socket.getClass()); String tu = "d:\\aodi.jpg"; BufferedInputStream bis = new BufferedInputStream(new FileInputStream(tu)); ByteArrayOutputStream baos = new ByteArrayOutputStream(); while((read = bis.read(bytes))!= -1){ baos.write(bytes,0,read); } byte[] bytes1 = baos.toByteArray(); baos.close(); OutputStream outputStream = socket.getOutputStream(); BufferedOutputStream bO = new BufferedOutputStream(outputStream); bO.write(bytes1); socket.shutdownOutput(); InputStream inputStream = socket.getInputStream(); BufferedReader bI = new BufferedReader(new InputStreamReader(inputStream)); StringBuilder stringBuilder = new StringBuilder(); String readline; while((readline = bI.readLine())!= null){ stringBuilder.append(readline + "\r\n"); } bO.close(); bI.close(); socket.close(); System.out.println("客户端已结束。。。。"); } }