`

DataServer2(客戶端上傳文件到服務器端)

阅读更多
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class DataServer2 {

        public static final int SERVICE_PORT=1500;
        public static final int DATA_SIZE=1024;
        public static final String FILE_PATH = "C:\\MP4\\";
        public static String FILE_NAME;
        public static void main(String[] args) {
                String filePath = FILE_PATH;
                try{
                        ServerSocket server = new ServerSocket(SERVICE_PORT);
                        System.out.println("Service started");
                        
                        for(;;){
                                Socket nextClient = server.accept();
                                System.out.println("Received request from " + nextClient.getInetAddress()+ ":"+ nextClient.getPort());                               
                                InputStream in = nextClient.getInputStream();
                                writeFile(filePath,in);
                                nextClient.close();
                        }
                        
                }catch(Exception e){
                        e.printStackTrace();
                } 
                
        }

        /**
         * 將客戶端輸入流寫服務器端文件
         * @param filePath	服務器端文件位置
         * @param in 客戶端輸入流
         * @throws Exception
         */
        public static void writeFile(String filePath,InputStream in)throws Exception {
            BufferedReader readerFile = new BufferedReader(
                    new InputStreamReader(in));
		    DataInputStream reader = new DataInputStream(in);
		    String filename=readerFile.readLine();
		    System.out.println("FileName:---------->>>>>>" + filename);
		    getFileName(filename);
		    
            File file=new File(filePath + FILE_NAME);
            if(file.exists()){
                file.delete();
                System.out.println("Create new file");
            }
            FileOutputStream fos = new FileOutputStream(file);
            
		    byte[] bs = new byte[DATA_SIZE];
		    int length;
		    System.out.println("Data receiving started");
		    while( (length=reader.read(bs)) != -1){
		            fos.write(bs,0,length);
		            bs = new byte[DATA_SIZE];
		            Thread.sleep(200);
		    }
		    System.out.println("Receiving completed");
		    readerFile.close();
		    reader.close();
		    fos.close(); 
        }
        
        public static void getFileName(String filename)throws Exception {
        	FILE_NAME = filename == null?"":filename.substring(filename.lastIndexOf("\\") + 1,filename.length());
        	System.out.println("FILE_NAME= " + FILE_NAME);
        }
}

 

分享到:
评论

相关推荐

    客户端向服务器端上传文件

    在客户端向服务器端上传文件的过程中,涉及到的主要技术包括前端交互、后端处理和文件传输协议。下面将分别从这三个方面详细讲解相关知识点。 首先,前端交互是用户与应用程序的接触点,这里通常会使用HTML、CSS和...

    android客户端向java服务器端上传文件.zip

    在Android客户端与Java服务器端的通信中,文件...总的来说,Android客户端向Java服务器端上传文件涉及到网络通信、文件处理、多线程以及服务器端的数据接收和存储。理解这些概念并正确实现它们是开发这类应用的关键。

    C# winform上传照片到服务器

    总的来说,C# WinForm上传照片到服务器涉及客户端文件操作、HTTP请求和可能的服务器端API开发。使用HttpClient可以方便地实现文件上传,通过调整ContentDisposition可以修改上传时的照片名字。同时,注意对可能出现...

    VB上传本地文件到服务器

    服务器端也应执行严格的验证和限制,例如禁止上传特定扩展名的文件,检查文件内容,以及限制单个文件或总的上传大小。 6. **modFileUpdate.bas和Form1.frm**:这两个文件可能是VB工程的一部分,`modFileUpdate.bas`...

    安卓客户端上传文件到php服务器

    在安卓应用开发中,将文件从客户端上传到服务器是一个常见的需求。本项目专注于使用OkHttp组件结合PHP服务器的Ajax处理来实现这一功能。下面将详细解释这个过程中的关键知识点。 首先,**安卓客户端**通常使用HTTP...

    python利用socket上传文件的客户端和服务器代码

    客户端将本地文件发送到服务器,而服务器端接收并保存这些文件。 首先,让我们从服务器端开始。服务器端需要监听特定的端口,等待客户端的连接请求。一旦有客户端连接,服务器就可以接收文件数据。以下是一个基本的...

    C# 通过WebService上传视频文件到服务器虚拟机下源码

    总之,通过C#使用Web Service上传视频文件到服务器虚拟机涉及到创建Web服务接口、客户端调用服务、服务器端接收并保存文件以及IIS的部署配置。理解并掌握这一流程对于开发者来说是非常重要的,特别是当涉及到跨平台...

    vc客户端通过HTTP的POST方式传送文件到PHP服务器

    总结起来,这个任务涉及到VC客户端如何利用HTTP POST方法将文件上传到PHP服务器,以及服务器端如何接收并处理这些文件。在实际应用中,需要考虑安全性、错误处理和性能优化。理解这一过程对于开发涉及文件交互的Web...

    客户端的数据到服务器-客户端主动发送数据.rar

    服务器端负责监听指定端口,接受客户端连接,读取并响应客户端数据;客户端则通过`TcpClient`连接服务器,发送数据并接收回应。在实际应用中,这些基础组件可以构建出复杂的网络通信系统,如文件传输、在线游戏、...

    文件上传android端和服务器端

    总结来说,Android端文件上传涉及到文件选择、读取、网络请求、进度跟踪和错误处理,而服务器端则需要接收并处理这些请求,存储文件,并配合客户端实现断点续传。理解并实现这些步骤,将能确保文件上传功能的稳定性...

    FTP.zip_C# ftp_FTP服务器_ftp客户端_ftp服务器端_ftp服务端

    FTP服务器端通常由一个程序组成,该程序监听特定端口(默认为21)上的连接请求,处理客户端的登录、文件上传、下载等操作。在C#中,我们可以使用System.Net.FtpServer命名空间中的FtpServer类来创建FTP服务器。首先...

    C#TCP协议服务器客户端通信源码(服务器多线程处理数据)

    本示例着重讲解如何利用C#实现基于TCP协议的服务器和客户端通信,特别是在服务器端采用多线程技术处理来自多个客户端的数据。 首先,TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它...

    android 带参数的上传 客户端加服务器端

    "带参数的上传"指的是在上传文件的同时,还需要传递额外的信息(参数)给服务器,以便服务器能够正确处理请求。本教程将深入探讨如何在Android客户端实现带参数的文件上传,以及在服务器端如何接收并处理这些请求。 ...

    Android上传文件到 net服务器 包含两方代码

    在Android平台上将文件上传到.NET服务器是一项常见的任务,涉及到客户端(Android)与服务器端(.NET)的交互。本文将详细讲解如何实现这一过程,并提供相关的代码示例。 首先,客户端(Android)需要使用HTTP或者...

    java上传文件到服务器

    在Java编程中,上传文件到服务器是一项常见的任务,特别是在Web应用程序和云计算环境中。这个过程涉及到客户端(通常是用户设备上的Java程序)与服务器之间的数据传输,通常通过HTTP或HTTPS协议进行。下面将详细介绍...

    c++实现向web服务器上传文件

    这段代码中,`CURLOPT上传FILE` 和 `CURLOPT上传DATA_NAME` 分别用于指定上传的文件和文件字段名,这在处理Web表单上传时非常重要,因为服务器端通常需要知道哪个字段代表文件。 对于服务端,由于标签中提到的是...

    GWT实现文件上传文件上传

    标题 "GWT实现文件上传" 涉及到的技术核心是使用Google Web Toolkit(GWT)来处理客户端的文件上传功能。GWT是一款强大的开发工具,它允许开发者使用Java语言编写客户端的Web应用,然后自动编译成JavaScript,使得...

    winform实现把文件上传服务器功能

    服务器端代码会解析`multipart/form-data`请求,从中提取文件内容,并将其保存到服务器的特定位置。具体实现因服务器架构而异,但基本流程包括: 1. 创建一个可写入的文件流,用于保存上传的文件。 2. 遍历请求的...

    C#异步传输(客户端和服务器端)

    在客户端应用中,通常涉及到与服务器的数据交换,例如文件上传或下载、HTTP请求等。C#提供了多种异步网络通信API,如`System.Net.Sockets.TcpClient`和`System.Net.Http.HttpClient`。以下是一个使用`TcpClient`进行...

    C++Http上传文件到web服务器,解决中文参数乱码

    在C++中,进行HTTP文件上传到Web服务器时,可能会遇到中文参数乱码的问题。这是因为HTTP协议本身并不处理字符编码,而是依赖于上层的应用层协议(如HTTP头或者POST数据)来处理字符集。当涉及到非ASCII字符,如中文...

Global site tag (gtag.js) - Google Analytics