Java Socket文件上传

客户端:


import java.io.FileInputStream;
import java.net.Socket;

/**
* Created by 290248126 on 14-5-11.
*/
public class Client {
public static void main(String[] args) throws Exception {
FileInputStream fileInputStream = new FileInputStream("e:/1.png");
Socket socket = new Socket("localhost", 8088);
byte[] buff = new byte[1024];
int length;
while ((length = fileInputStream.read(buff)) != -1) {
socket.getOutputStream().write(buff, 0, length);
}
//至关重要,告诉服务器,客户端已经发送完毕
socket.shutdownOutput();
//获取服务器发过来的提示信息
length = socket.getInputStream().read(buff);
System.out.println("服务器:" + new String(buff, 0, length));
socket.close();
fileInputStream.close();
}
}

服务器:


import java.io.FileOutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
* Created by 290248126 on 14-5-11.
*/
public class Server {
public static void main(String[] args) throws Exception {
FileOutputStream fileOutputStream = new FileOutputStream("e:/2.png");
ServerSocket serverSocket = new ServerSocket(8088);
Socket socket = serverSocket.accept();
byte[] buff = new byte[1024];
int length;
//客户端代码中调用了socket的shutdownOutput()方法,使返回-1,循环结束
while ((length = socket.getInputStream().read(buff)) != -1) {
fileOutputStream.write(buff, 0, length);
}
socket.getOutputStream().write("文件上传成功!".getBytes());

fileOutputStream.close();
socket.close();
serverSocket.close();
}
}

Java Socket文件上传

时间: 2025-01-06 11:59:28

Java Socket文件上传的相关文章

java多线程文件上传服务器

描述: (1)jdk自带线程池见 JDK自带线程池配置 (2)此上传文件服务器中上传文件的后缀名通过第一段缓冲字符流传递,此缓冲字符流大小为1024,在文件接收端以1024接收.处理. 1.服务器代码如下(使用jdk自带线程池): 1 /** 2 * 服务器处理多线程问题 3 * 4 * 1.因为服务器是要很多人访问的,因此里面一定要用多线程来处理,不然只能一个人一个人的访问,那还叫Y啥服务器 5 * 6 * 2,拿上面这个文件上传的例子来说,它将每个连接它的用户封装到线程里面去,把用户要执行的

Java Web文件上传

一. Java Web文件上传需要借助一些第三方库,常用的是借助Apache的包,有两个: commons-fileupload commons-io 二.前端代码示例: <form method="post" id="uploadApkForm" action="uploadapk" enctype="multipart/form-data"> <p> 文件:<input name="

java 大文件上传 断点续传 完整版实例 (Socket、IO流)

原文出自:https://blog.csdn.net/seesun2012 java两台服务器之间,大文件上传(续传),采用了Socket通信机制以及JavaIO流两个技术点,具体思路如下: 实现思路: 1.服:利用ServerSocket搭建服务器,开启相应端口,进行长连接操作 2.服:使用ServerSocket.accept()方法进行阻塞,接收客户端请求 3.服:每接收到一个Socket就建立一个新的线程来处理它 4.客:利用Socket进行远程连接,询问已上传进度 5.客:使用File

java web 文件上传下载

文件上传下载案例: 首先是此案例工程的目录结构: 处理上传: FileUploadServlet.java 1 package fnz.fileUploadTest; 2 3 import java.io.File; 4 import java.io.IOException; 5 import java.io.InputStream; 6 import java.io.PrintWriter; 7 import java.text.SimpleDateFormat; 8 import java.

JAVA实现文件上传

  代码如下: 还要两个jar包      前台页面: 01 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 02 <% 03 String path = request.getContextPath(); 04 String basePath = request.getScheme()+"://"+request.ge

html5+java大文件上传代码

<body> <input id="fileid" type="file" accept="video/*;capture=camera" onchange="onfile(this)"> <input id="btn" type="button" value="提交"> <script type="text/jav

HTTP POST请求报文格式分析与Java实现文件上传

时间 2014-12-11 12:41:43  CSDN博客 原文  http://blog.csdn.net/bboyfeiyu/article/details/41863951 主题 HTTPHttpComponents 在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较麻烦的事情就是构造文件上传的HTTP报文格式,这个格式虽说也比较简单,但也

Java实现文件上传(验证文件大小、文件类型)

文件上传是每个java开发者必须掌握的.文件上传有很多种实现方式,但其实也大同小异.笔人在这里为大家介绍一种我习惯用的,上传文件的方式.大家先看代码,最后我会分享我的源码给大家. 1.首先要准备一下需要用到的jar包. commons-fileupload-1.2.1.jar -commons-io-1.4.jar 可以从[(http://commons.apache.org/)]下载,当然,我的项目源码里也有 然后开始写代码. public static String fileUpload(H

【FTP】java FTPClient 文件上传内容为空,文件大小为0

问题:如题所述,使用FTPClient上传至FTP服务器, 表现如下:①文件大小为0 ②上传很小的文件,但是要花费很长的时间,20K要花费2分钟甚至更久 ③没有任何的报错,没有任何的乱码 解决方法: [参考:http://blog.csdn.net/tengdazhang770960436/article/details/43274001] 如果你在本地的 Java 项目里面去用 FtpClient 上传文件,然后虽然文件上传上去了,但是文件里面没有内容,那么这说明你的机器防火墙设置有问题如下图