package demo04;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;public class TCPclient { public static void main(String[] args) throws IOException { //1.创建socket对象,连接服务器 Socket s =new Socket("127.0.0.1", 8765); //2.通过套接字获取输出流 OutputStream out =s.getOutputStream(); //3.获取数据源 FileInputStream fis =new FileInputStream("D:\\test\\aaa.png"); //4.读数据 int len =0; byte [] b =new byte [1024]; while((len =fis.read(b))!=-1){ //写入目的地 out.write(b,0,len); } s.shutdownOutput(); //接受服务器回复 InputStream in =s.getInputStream(); len =in.read(b); System.out.println(new String(b ,0,len)); //释放资源 fis.close(); s.close(); }}
package demo04;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.Random;import org.xml.sax.InputSource;public class TCPserver{ public static void main(String[] args) throws IOException { //1.创建服务器套接字绑定接口 ServerSocket ser =new ServerSocket(8765); //2.接受套接字对象 Socket s =ser.accept(); //3.获取输入流 InputStream in =s.getInputStream(); //4.获取文件夹,如果不存在就创建 File f =new File("f:\\aaa"); if(!f.exists()){ f.mkdirs(); } //5.创建文件输出流 String filename ="oracle"+System.currentTimeMillis()+new Random().nextInt(99999)+".png"; FileOutputStream fos =new FileOutputStream(f+File.separator+filename); //6.写入数据 byte [] b =new byte [1024]; int len =0; while((len =in.read(b))!=-1){ fos.write(b,0,len); } //服务器给客服端回复(上传成功) OutputStream out=s.getOutputStream(); out.write("上传成功".getBytes()); //释放资源 fos.close(); s.close(); ser.close(); } }