---------------------- android培训、java培训、期待与您交流! ----------------------
图片上传
客户端
步骤:
1服务端点
2读取客户端已有图片数据
3通过Socket输出流发给服务端
4读取服务端反馈信息
import java.io.*; import java.net.*; class PicClient { public static void main(String[] args) throws Exception { Socket s = new Socket("127.0.0.1",10005); FileInputStream fis = new FileInputStream("a.bmp"); OutputStream os = s.getOutputStream(); byte[] buf = new byte[1024]; int len = 0; while((len=fis.read(buf))!=-1){ os.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(); } } /*服务端*/ class PicServer { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(10005); Socket s = ss.accept(); String ip = s.getInetAddress().getHostAddress(); System.out.println(ip); InputStream is = s.getInputStream(); FileOutputStream fos = new FileOutputStream("Server.bmp"); byte[] buf = new byte[1024]; int len = 0; while((len=is.read(buf))!=-1) fos.write(buf,0,len); OutputStream os = s.getOutputStream(); os.write("received".getBytes()); fos.close(); ss.close(); } }
文本上传将文本复制到另一个机器的硬盘中,用到流和Socket编程知识
需求:将文本复制到Server后,返回给客户端提示信息。
import java.io.*; import java.net.*; class TextClient { public static void main(String[] args) throws Exception { Socket s = new Socket("127.0.0.1",10005); BufferedReader br = new BufferedReader(new FileReader("TCPDemo.java")); String line = null; BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); while((line=br.readLine())!=null) { bw.write(line); bw.newLine(); bw.flush(); } bw.write("over"); bw.newLine(); bw.flush(); BufferedReader brIn = new BufferedReader(new InputStreamReader(s.getInputStream())); System.out.println( brIn.readLine()); br.close(); s.close(); } } class TextServer { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(10005); Socket s = ss.accept(); String ip = s.getInetAddress().getHostAddress(); System.out.println(ip); BufferedWriter bw = new BufferedWriter(new FileWriter("Server.txt")); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); BufferedWriter bwIn = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); String line = null; while((line=br.readLine())!=null) { if("over".equals(line)) break; bw.write(line); bw.newLine(); bw.flush(); } bwIn.write("上传成功"); bwIn.close(); bw.close(); ss.close(); } }
---------------------- android培训、java培训、期待与您交流! ----------------------