Socket复制文件编程Demo
来源:互联网 发布:java 方法区 内存溢出 编辑:程序博客网 时间:2024/06/07 01:13
package com.javase.net;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket;import org.junit.Test;/** * net服务器客户端的交互demo * 运行的时候需要先运行服务器... * @author Bo * */public class Demo { /** * 1.服务器端,读取客户端socket发送来的数据 * is = socket.getInputStream(); * 2.写 * fos.write(buf,0,realcount); */ @Test public void server() { ServerSocket server = null; Socket socket1 = null; InputStream is = null; FileOutputStream fos = null;// BufferedWriter bwWriter = null; try { server = new ServerSocket(8886); while (true) { socket1 = server.accept(); is = socket1.getInputStream(); fos = new FileOutputStream("girl2.jpg");// bwWriter = new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())); byte[] buf = new byte[1024]; int realcount = is.read(buf); while (realcount != -1) { fos.write(buf, 0, realcount); realcount = is.read(buf); }// bwWriter.write("发送成功!");// bwWriter.newLine();// bwWriter.flush(); } } catch (Exception e) { e.printStackTrace(); } finally { try { fos.close(); } catch (IOException e) { e.printStackTrace(); } try { is.close(); } catch (IOException e) { e.printStackTrace(); } try { socket1.close(); } catch (IOException e) { e.printStackTrace(); } try { server.close(); } catch (IOException e) { e.printStackTrace(); } } } /** *1.客户端本地读取girl.jpg文件, *fis = new FileInputStream("girl.jpg"); *fis.read(buf); * *2.socket上传 * socket.getOutputStream(); * * */ @Test public void client() { Socket socket2 = null; FileInputStream fis = null; OutputStream os = null;// BufferedReader bread = null; try { socket2 = new Socket("localhost", 8886); fis = new FileInputStream("girl.jpg"); os = socket2.getOutputStream();// bread = new BufferedReader(new InputStreamReader(socket2.getInputStream())); byte[] buf = new byte[1024]; int realcount = fis.read(buf); while(realcount != -1) { os.write(buf, 0, realcount); realcount = fis.read(buf); } socket2.shutdownOutput();// String readLine = bread.readLine();// System.out.println(readLine); } catch (Exception e) { e.printStackTrace(); } finally { try { os.close(); } catch (IOException e) { e.printStackTrace(); } try { fis.close(); } catch (IOException e) { e.printStackTrace(); } try { socket2.close(); } catch (IOException e) { e.printStackTrace(); } } }}
阅读全文
0 0
- Socket复制文件编程Demo
- Socket编程DEMO
- socket编程demo
- tcp socket demo编程
- java 实现文件复制demo
- socket编程FTP客户端demo
- android socket select 编程demo
- 使用编程复制文件
- java 简单的文件复制demo
- Linux下Socket编程简单demo示例
- 使用libevent进行多线程socket编程demo
- iOS之 TCP socket网络编程 demo
- Socket网络编程简单实例Demo,文件传输。
- Socket编程:下载文件
- java网络Socket编程实现文本复制与图片复制
- 网络编程--TCP复制文件
- 文件编程——复制
- Socket DEMO
- JAVA之插入排序
- 异常类自定义封装
- MFC中 OnPaint()与OnDraw的区别
- mysql事务简述
- TCP协议中的URG和PSH标志位的区别
- Socket复制文件编程Demo
- TCP的三次握手与四次挥手
- 反射代码块
- SQL Server 中WITH (NOLOCK)浅析(大自然的搬运工)
- Map的排序Demo
- 图像处理动机(课堂笔记)
- MFC UpdateData()用法
- redis集群安装踩过的坑
- 编译安装PHP