从客户端复制文件到服务器

服务器端:

package com.hanqi.test;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Testserver1 {

    public static void main(String[] args) {
        // 建立服务器,启动监听

        try {
            System.out.println("服务器启动");

            ServerSocket ss3=new ServerSocket(83);

            Socket sc=ss3.accept();

            System.out.println("服务器收到客户连接请求。");
            //从客户端获取文件数据
            InputStream in=sc.getInputStream();
            //将读取的文件写入e盘
            FileOutputStream out=new FileOutputStream("e:/test.rar");
            //边度边写

            byte[]b=new byte[1024];

            int i=0;
            while((i=in.read(b))>0)
            {
                out.write(b, 0, i);
            }
            out.close();
            in.close();
            sc.close();
            ss3.close();
            System.out.println("复制成功");

        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        } 

    }

}

客户端:

package com.hanqi.test;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class TestClient2 {

    public static void main(String[] args) {
        // 客户端

        try {
            Socket sc=new Socket("127.0.0.1", 83);
            //客户端链接服务器成功
            //向客户端发送文件数据
            OutputStream out=sc.getOutputStream();
            //从本地读取文件
            FileInputStream in=new FileInputStream("d:/ceshi.txt");
            //边度边写
            byte[]b1=new byte[1024];
            int i=0;
            while((i=in.read(b1))>0)
            {
               out.write(b1, 0, i);
            }

            System.out.println("发送完毕");

            in.close();
            out.close();
            sc.close();

        } catch (UnknownHostException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        } catch (IOException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }

    }

}
时间: 2024-08-06 07:50:02

从客户端复制文件到服务器的相关文章

【代码笔记】Java深入学习——实现客户端发送文件到服务器的文件传输

Server.java package com.huaxin.lesson02; import java.io.FileOutputStream; import java.io.InputStream; import java.io.ObjectInputStream; import java.net.ServerSocket; import java.net.Socket; /** * @thing 实现客户端发送文件到服务器 * @thing 客户端发送到客户端(本代码未实现) * @aut

Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?

一.背景 在我之前的博客 git学习--> Gitlab如何进行备份恢复与迁移? (地址:http://blog.csdn.net/ouyang_peng/article/details/77070977) 里面已经写清楚了如何使用Gitlab自动备份功能.  但是之前的备份功能只是备份到Gitlab服务运行的那台服务器上,如果哪一天那台服务器的磁盘损坏了的话,数据无法取出,那么对于公司来说是一匹无法想象的损失,因为 代码是公司的重要资产,需要以防万一. 代码是公司的重要资产,需要以防万一. 代

Win7 自带FTP将文件复制到FTP服务器时发生错误。

错误截图: 错误信息: 将文件复制到FTP服务器时发生错误.请检查是否有权限将文件放到该服务器上. 详细信息: 200 Type set to I. 200 PORT commad successful. 451 No mapping for the Unicode character exits in target multi-bye code page. 解决方案: 控制面板-->管理工具-->打开Internet信息服务(IIS)管理器.右键选中自己建立好的FTP站点,选择"管

[shell实例]——用脚本实现向多台服务器批量复制文件(nmap、scp)

练习环境: (1)所有服务器将防火墙和selinux关闭 (2)所有服务器的root密码设置为aixocm (3)所有服务器都为10.0.100.*网段,并保证能够和其它主机通信 (4)所有服务器确保sshd服务已经启动(开放默认的22端口) 脚本要求实现: 将本机/etc目录下以conf为扩展名的文件打包压缩为tar.bz2,然后将此文件复制一份到10.0.100.1-->10.0.100.254地址段上所有开启的主机,具体路径为/tmp/sjjy/文件.在使用scp复制时无需手动输入密码.

七牛云存储还有一个独一无二的特性——支持用户将文件从客户端直传到云服务器中

目前七牛已经拥有数千家客户,你会发现其中有很多都是像知乎.Weico.Camera360.美图秀秀.蝉游记和Vida等UGC(用户产生内容)类产品,尤其是在图片社交领域.这是因为,除了我在前面所说的“云存储”比传统方案更节省成本外,七牛云存储还有一个独一无二的特性——支持用户将文件从客户端直传到云服务器中.因为我看过蝉游记CTO Quake撰文写过这一特性,所以就直接引用他的原文来做说明: 常见的云存储上传文件流程一般如下: 用户 =>应用服务器 =>云存储提供商 这样多了一次上传的流程,和本

scp命令详解—跨服务器复制文件

scp在跨机器复制的时候为了提高数据的安全性,使用了ssh连接和加密方式,如果机器之间配置了ssh免密码登录,那在使用scp的时候密码都不用输入. 在服务器104.238.161.75上操作,将服务器104.238.161.75上/home/lk/目录下所有的文件全部复制到43.224.34.73的/root目录下,命令为:scp -r /home/lk [email protected]:/root(注意:IP与路径直接加冒号). 命令详解: scp是secure copy的简写,用于在Lin

使用 PuTTY 安全复制客户端将文件传输到您的 Linux 实例

使用 PuTTY 安全复制客户端将文件传输到您的 Linux 实例 PuTTY 安全复制客户端 (PSCP) 是一个命令行工具,您可以用它在 Windows 计算机与 Linux 实例之间传输文件.如果您更喜欢图形用户界面(GUI),您可以使用一种叫作"WinSCP"的开源 GUI 工具.有关更多信息,请参阅 使用 WinSCP 将文件传输到您的 Linux 实例. 要使用 PSCP,您将需要在使用 PuTTYgen 转换您的私有密钥中生成的私有密钥.您还需要 Linux 实例的公有

linux两台服务器间复制文件scp

换服务器或添加服务器时常会用到两台服务器之间复制文件,这个时候就可以使用scp命令. scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. 两台主机之间复制文件必需得同时有两台主机的复制执行帐号和操作权限. scp一般有六种使用方法: 本地复制远程文件:(把远程的文件复制到本地) scp [email protected]:/val/test/test.tar

PHP递归复制文件夹以及传输文件夹到其他服务器。

项目中需要复制整个文件夹,有时候还需要将整个文件夹传输到远程服务器. 这里就要递归遍历整个文件夹了,想看递归遍历文件夹的代码. function deepScanDir($dir) { $fileArr = array (); $dirArr = array (); $dir = rtrim($dir, '//'); if (is_dir($dir)) { $dirHandle = opendir($dir); while (false !== ($fileName = readdir($dir