基于socket的上传下载(Java)精简版
2012-12-04 17:39
393 查看
很简单的一个例子,没有界面只有代码。
服务器端代码
客户端代码
服务器端代码
package server; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.FileInputStream; import java.net.ServerSocket; import java.net.Socket; public class AndroidServer implements Runnable { private ServerSocket serverSocket = null; private DataInputStream is; public void run() { if (serverSocket == null) { try { serverSocket = new ServerSocket(5926); } catch (Exception e) { e.printStackTrace(); } } try { Socket socket = serverSocket.accept(); is = new DataInputStream(new BufferedInputStream(new FileInputStream("D:\\test.mp4"))); // 把需要上传的文件,放入InputStream DataOutputStream os = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream())); // 初始化socket的OutputStream int count; byte[] buffer = new byte[1024]; while ((count = is.read(buffer, 0, buffer.length)) != -1) { // 把文件放入socket的OutputStream中 os.write(buffer, 0, count); } os.flush(); serverSocket.close(); socket.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { Thread desktopServerThread = new Thread(new AndroidServer()); // 启动服务 desktopServerThread.start(); } }
客户端代码
import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.net.Socket; public class test { public static void main(String[] args) { try { Socket socket = new Socket("192.168.0.228", 5926); DataInputStream dis = new DataInputStream(socket.getInputStream()); // 获取socket中的InputStream DataOutputStream os = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(new File("D:\\fuck")))); // 初始化OutputStream int count = 0; byte[] buffer = new byte[1024]; while ((count = dis.read(buffer)) != -1) { // 把socket中的InputStream放入OutputStream os.write(buffer, 0, count); } os.close(); socket.close(); // 上传完成,关闭socket } catch (Exception e) { e.printStackTrace(); } finally { } } }
相关文章推荐
- [置顶] 基于Java的文件上传与下载
- Java 使用Socket实现文件上传与下载
- 基于Java的一个简单的文件上传下载功能
- java基于servlet编写上传下载功能 类似文件服务器
- java基于Apache FTP实现文件上传、下载、修改文件名、删除
- 基于apache的commons-net-3.3.jar的 ftp java代码上传下载文件
- Java基于Socket实现HTTP下载客户端
- 基于 apache 的 commons-net-3.3.jar 的 ftp java代码上传下载文件
- 基于java的文件上传和下载
- 基于Java的一个简单的文件上传下载功能
- 基于spring-boot的文件上传和下载(包括图片的压缩)--第一篇(Java代码)
- Java网络编程实践和总结 --- 基于TCP的Socket编程之实现文件上传和下载服务
- Java - 如何在基于Java的Web项目中实现文件上传和下载?
- 基于Java的一个简单的文件上传下载功能
- java socket 实现c/s文件上传下载功能+注册登录
- 基于Java文件输入输出流实现文件上传下载功能
- java版客户端与服务器的socket通信以及上传下载
- java socket 文件上传下载
- java基于Apache FTP点断续传的文件上传和下载
- web端基于java的文件上传下载