package com.herley;

/**

*

* 客户端

*/

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.net.Socket;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Scanner;

import java.util.TimeZone;

public class Send {

public static void main(String[] args) {

File filesrc; //需要传送的文件

Socket socket; //套接字

FileInputStream open; //读取文件

FileOutputStream out; //传送文件

Scanner sc;//键盘录入

Date start;

Date end;

try {

System.out.println("[欢迎使用局域网发送系统,仅支持单文件发送]");

System.out.print("请输入你要发送的文件路径!");

System.out.println("(注意格式:文件路径+后缀名!)");

//需要传输的文件

sc = new Scanner(System.in);

String src = sc.nextLine();

filesrc = new File(src);//键盘录入需要传输的文件路径

open = new FileInputStream(filesrc);//创建文件输入流

//连接服务器

System.out.println("请输入服务器的ip地址");

sc = new Scanner(System.in);

String url = sc.nextLine();

// System.out.println("请输入服务器的端口号");

// sc = new Scanner(System.in);

// int port = sc.nextInt();

socket = new Socket(url, 2017);//创建socket

out = (FileOutputStream)socket.getOutputStream();//创建文件输出流

//开始传送

byte[] b = new byte[1024];

int n = open.read(b);//首次传送

// int start = (int)System.currentTimeMillis();

start = new Date();//首次时间

while (n != -1) {

out.write(b, 0, n);

n = open.read(b);

}

// int end = (int)System.currentTimeMillis();

end = new Date();

long l = Send.printSplitTime(start, end);

SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");

formatter.setTimeZone(TimeZone.getTimeZone("GMT+00:00"));

String hms = formatter.format(l);

System.out.println( "发送成功,耗时:" + hms);

System.out.println("谢谢使用");

//关闭流

out.close();

socket.close();

open.close();

} catch (Exception e) {

System.out.println("文件路径或者ip有误");

}

}

public static long printSplitTime(Date start, Date end) {

long interval = (end.getTime() - start.getTime());

//System.out.println("接口耗时:" + interval + "毫秒");

return interval;

}

}

package com.herley;

/**

*

* 服务端

*/

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.net.Socket;

import java.net.ServerSocket;

import java.util.Scanner;

public class Receive {

public static void main(String[] args) {

File target; //接收到的文件保存的位置

FileOutputStream save; //将接收到的文件写入电脑

FileInputStream in; //读取穿送过来的数据文件

ServerSocket server; //服务器

Socket socket; //套接字

//处理客户端的请求

try {

//接受前文件的准备

System.out.print("请输入你将要保存文件的地址");

System.out.println("(注意格式:文件路径+后缀名!)");

Scanner scanner = new Scanner(System.in);

String s = scanner.nextLine();

target = new File(s);

save = new FileOutputStream(target);

server = new ServerSocket(2017); //服务端口

//等待客户端的呼叫

System.out.println("正在等待客户端的呼叫........");

socket = server.accept(); //阻塞

in = (FileInputStream)socket.getInputStream();

//接收数据

byte[] b = new byte[64];

int n = in.read(b);

int start = (int)System.currentTimeMillis();

while (n != -1) {

save.write(b, 0, n); //写入指定地方

n = in.read(b);

}

int end = (int)System.currentTimeMillis();

System.out.println("接收成功,耗时:" + (end-start)+"毫秒");

socket.close();

server.close();

in.close();

save.close();

} catch (Exception e) {

System.out.println(e);

}

}

}

java 局域网文件拷贝文件_局域网使用Java进行文件传输相关推荐

  1. java 使用适当的签名_关于数字签名和policy文件设置!

    目前做一项目,jbuilder4+oracle+windows2000(linux),打算用applet+servlet 做成分布式b/s结构, 其中有两个关键技术难点: 1:与word,excel等 ...

  2. java编写大数据分析模型_如何用Java(DOM分析器)编写XML文件

    java编写大数据分析模型 Earlier we learned how to read XML file and how to edit XML file in java using DOM Par ...

  3. java控制器文件内容替换_如何用Java来进行文件切割和简单的内容过滤的实现

    一 由来 去年由于项目的需求,要将一个任意一个文件制作成一个xml文件,并且需要保持文件内容本身不产生变化,还要能够将这个xml重新还原为原文件.如果小型的文件还好处理,大型的xml,比如几个G的文件 ...

  4. java中的jsp文件创建_在JSP中创建文件夹和文件

    在JSP中判断某文件是否存在,并创建文件夹和文件. 备忘. 在WinXP + Tomcat5.1 中,代码如下: //得到web根路径//绝对路径 //getServletContext().getR ...

  5. java写病毒程序代码_一个用JAVA写的清除EXE病毒文件的程序(转)

    Clear.java 这是一个主类,主要是负责运行程序和参数检查,不是核心 程序代码: import java.io.*; public class Clear{ public static void ...

  6. java判断路径是否存在_科学网—Java判断文件目录以及文件是否存在 - 林清莹的博文...

    在项目中需要判断文件额路径是否存在,以及路径下的文件是否存在,这对于软件的人性化是一个指标, 最近在查找相关资料后,特将方法写出来以便日后用到. /** * 判断文件及目录是否存在,若不存在则创建文件 ...

  7. 局域网屏幕共享软件 推荐_局域网共享软件,详细教您局域网共享软件如何使用...

    局域网是指在某一区域内由多台计算机互联成的计算机组.在平时的办公生活中,我们用的网络即形成了一个局域网.有时我们需要将同一个文件在几台电脑上同时使用.那么怎样在局域网共享文件夹呢?为了大伙的方便,小编 ...

  8. python逐个读取文件并处理_逐个读取多个文件并用python进行处理

    我在python中使用Pybrain(神经网络库)进行图像处理.我在一个目录中有196个文件,它保存在下面代码中的所有_文件中.我试着打开每个文件并分别对每个文件进行处理,但它将所有文件数据放在一个字 ...

  9. python文件读写库_【8】python文件的读写方法

    (1).读文件的步骤: (1)打开文件 open(path,flag,encoding,[errors]) path:打开路径 flag:打开方式 r(只读) rb(二进制格式) r+(可以读写) w ...

  10. vue单文件props写法_详解Vue 单文件组件的三种写法

    详解Vue 单文件组件的三种写法 JS构造选项写法 export defaul { data, methods, ...} JS class写法 @Component export default c ...

最新文章

  1. 成功解决AttributeError: module 'numpy' has no attribute 'equal'
  2. 用图讲解狄克斯特拉(DiskStra)算法,python实现 。
  3. mysql外键_mysql系列之存储引擎
  4. numpy 最大值_使用 NumPy 让你的 Python 科学计算更高效
  5. linux备份用户权限
  6. 命令历史及快捷键介绍
  7. unity3d 动态合批设置_【CocosCreator】突破动态合图
  8. MarkDown数学符号(更新中)
  9. 【转】Elasticsearch+Django搜索引擎(一)
  10. 面向对象技术之系统分析:类图
  11. NPOI导出EXCEL报_服务器无法在发送 HTTP 标头之后追加标头
  12. 高效办公之Windows高效技巧提高你的工作效率
  13. css中用来去除列前面的黑点,CSS中去除li前面的小黑点,a下划线 和ul、LI部分属性方法...
  14. 用html做龙卷风特效,抖音HTML龙卷风特效代码是啥?
  15. 企业微信hook接口,pc企业微信协议
  16. C# excel转换PDF 包括所有sheet
  17. java id pid 递归,父子结构数据(id,pid)递归查询所有子id合集和父id合集
  18. vue + 高德原生 API实现地图可视化
  19. agv调度系统3.0技术介绍
  20. 华为究竟做了多少芯片?

热门文章

  1. 重症肌无力患者不能吃什么
  2. [ChatGPT为你支招]如何提高博客的质量,找到写作方向,保持动力,增加粉丝数?
  3. 2019年5月7日公布的全国水质排行榜_全国城市水质排名一览表
  4. 【英语天天读】I have as much soul as you
  5. 清华天才王垠受邀面试阿里P9,被阿里P10赵海平面跪,传言阿里P10赵海平被P11多隆判定3.25离职,整个事件回顾......
  6. 乌班图linux分辨率不能调,ubuntu分辨率1024*768无法选择解决方法
  7. springboot+springsecurity+阿里云短信服务验证实现注册登录
  8. 510758-19-7,5-FAM-Alkyne高选择性和灵敏的荧光生物标记物,可用于标记碱性磷酸酶 (ALP)
  9. steam中国版linux游戏下载,steam linux下载
  10. linux-mariadb