socket编程实现文件上传,支持任何格式的文件
来源:互联网 发布:狩猎者防护软件 编辑:程序博客网 时间:2024/05/17 03:08
server端
package com.hjb.version.tcp;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 org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.hjb.version.util.Constant;public class TcpServer {public class SocketThread extends Thread {public void run() {try {ServerSocket server = new ServerSocket(Constant.getServer_port());Socket socket = new Socket();while (true) {socket = server.accept();InputStream is = socket.getInputStream();OutputStream os = socket.getOutputStream();byte[] b = new byte[1024];// 1、得到文件名int a = is.read(b);String filename = new String(b, 0, a);System.out.println("接受到的文件名为:" + filename);FileOutputStream fos = new FileOutputStream(Constant.getUploadPath() + "\\" + filename);int length = 0;while ((length = is.read(b)) != -1) {// 2、把socket输入流写到文件输出流中去fos.write(b, 0, length);}// fos.flush();fos.close();os.flush();os.close();is.close();socket.close();}} catch (IOException e) {e.printStackTrace();}}}public static void main(String args[]) {TcpServer.SocketThread socketThread = new TcpServer().new SocketThread();socketThread.start();}}
client端
package com.hjb.version.tcp;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;import com.hjb.version.util.Constant;public class TcpClient {public static void SendTcpTextData(String HostName, int HostPort,String filePath) throws IOException {try { Socket client = new Socket(HostName, HostPort); InputStream is = client.getInputStream(); OutputStream os = client.getOutputStream(); File file = new File(filePath); String filename = file.getName(); System.out.println("send's file name:"+filename); //1、发送文件名 os.write(filename.getBytes()); FileInputStream fis = new FileInputStream(file); byte[] b = new byte[1024]; int length = 0; while((length=fis.read(b))!=-1){ //2、把文件写入socket输出流 os.write(b, 0, length); } os.close(); fis.close(); is.close(); System.out.println("send over"); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String args[]) throws IOException {SendTcpTextData(Constant.getServer_host(),Constant.getServer_port(), "E:\\cc_10.rar");}}
0 0
- socket编程实现文件上传,支持任何格式的文件
- 基于TCP协议的Socket编程,实现文件的上传
- Http协议格式——socket实现http文件上传
- tomcat 支持文件上传的功能实现
- 通过WebService上传任何类型的文件
- android文件上传 socket实现
- socket实现http文件上传
- socket 实现文件上传实例
- Socket编程实现文件的传输
- Linux下使用Socket编程的文件上传例子
- 文件上传(任何模板)
- Java网络编程实践和总结 --- 基于TCP的Socket编程之实现文件上传和下载服务
- java网络编程--socket上传文件
- HTTP上传文件的格式
- java socket编程(4)——利用socket实现聊天之上传文件
- python socket上传文件的服务端和客户端实现
- python socket上传文件的服务端和客户端实现
- Python socket上传文件的服务端和客户端实现
- js编译、解析Urlencode
- gvim python初级配置
- org.springframework.ws.client.WebServiceTransportException: Moved Temporarily [302]
- 详解spring自定义属性编辑器
- StudentInformation.c
- socket编程实现文件上传,支持任何格式的文件
- php学习笔记1——使用phpStudy进行php运行环境搭建与测试。
- 检测手机分辨率和像素密度
- 第三十四篇:Win8.1中USB3 hub驱动的符号列表
- __attribute__ 知多少
- JDBC-XML文件读取、XML存取类属性与数据库表的列名的关系-01-07-2015
- GitHub学生开发者工具包
- IMP-00002: 无法打开 C:\****.dmp进行读取
- asp.net抓取通用类