java 局域网文件拷贝文件_局域网使用Java进行文件传输
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进行文件传输相关推荐
- java 使用适当的签名_关于数字签名和policy文件设置!
目前做一项目,jbuilder4+oracle+windows2000(linux),打算用applet+servlet 做成分布式b/s结构, 其中有两个关键技术难点: 1:与word,excel等 ...
- java编写大数据分析模型_如何用Java(DOM分析器)编写XML文件
java编写大数据分析模型 Earlier we learned how to read XML file and how to edit XML file in java using DOM Par ...
- java控制器文件内容替换_如何用Java来进行文件切割和简单的内容过滤的实现
一 由来 去年由于项目的需求,要将一个任意一个文件制作成一个xml文件,并且需要保持文件内容本身不产生变化,还要能够将这个xml重新还原为原文件.如果小型的文件还好处理,大型的xml,比如几个G的文件 ...
- java中的jsp文件创建_在JSP中创建文件夹和文件
在JSP中判断某文件是否存在,并创建文件夹和文件. 备忘. 在WinXP + Tomcat5.1 中,代码如下: //得到web根路径//绝对路径 //getServletContext().getR ...
- java写病毒程序代码_一个用JAVA写的清除EXE病毒文件的程序(转)
Clear.java 这是一个主类,主要是负责运行程序和参数检查,不是核心 程序代码: import java.io.*; public class Clear{ public static void ...
- java判断路径是否存在_科学网—Java判断文件目录以及文件是否存在 - 林清莹的博文...
在项目中需要判断文件额路径是否存在,以及路径下的文件是否存在,这对于软件的人性化是一个指标, 最近在查找相关资料后,特将方法写出来以便日后用到. /** * 判断文件及目录是否存在,若不存在则创建文件 ...
- 局域网屏幕共享软件 推荐_局域网共享软件,详细教您局域网共享软件如何使用...
局域网是指在某一区域内由多台计算机互联成的计算机组.在平时的办公生活中,我们用的网络即形成了一个局域网.有时我们需要将同一个文件在几台电脑上同时使用.那么怎样在局域网共享文件夹呢?为了大伙的方便,小编 ...
- python逐个读取文件并处理_逐个读取多个文件并用python进行处理
我在python中使用Pybrain(神经网络库)进行图像处理.我在一个目录中有196个文件,它保存在下面代码中的所有_文件中.我试着打开每个文件并分别对每个文件进行处理,但它将所有文件数据放在一个字 ...
- python文件读写库_【8】python文件的读写方法
(1).读文件的步骤: (1)打开文件 open(path,flag,encoding,[errors]) path:打开路径 flag:打开方式 r(只读) rb(二进制格式) r+(可以读写) w ...
- vue单文件props写法_详解Vue 单文件组件的三种写法
详解Vue 单文件组件的三种写法 JS构造选项写法 export defaul { data, methods, ...} JS class写法 @Component export default c ...
最新文章
- 成功解决AttributeError: module 'numpy' has no attribute 'equal'
- 用图讲解狄克斯特拉(DiskStra)算法,python实现 。
- mysql外键_mysql系列之存储引擎
- numpy 最大值_使用 NumPy 让你的 Python 科学计算更高效
- linux备份用户权限
- 命令历史及快捷键介绍
- unity3d 动态合批设置_【CocosCreator】突破动态合图
- MarkDown数学符号(更新中)
- 【转】Elasticsearch+Django搜索引擎(一)
- 面向对象技术之系统分析:类图
- NPOI导出EXCEL报_服务器无法在发送 HTTP 标头之后追加标头
- 高效办公之Windows高效技巧提高你的工作效率
- css中用来去除列前面的黑点,CSS中去除li前面的小黑点,a下划线 和ul、LI部分属性方法...
- 用html做龙卷风特效,抖音HTML龙卷风特效代码是啥?
- 企业微信hook接口,pc企业微信协议
- C# excel转换PDF 包括所有sheet
- java id pid 递归,父子结构数据(id,pid)递归查询所有子id合集和父id合集
- vue + 高德原生 API实现地图可视化
- agv调度系统3.0技术介绍
- 华为究竟做了多少芯片?
热门文章
- 重症肌无力患者不能吃什么
- [ChatGPT为你支招]如何提高博客的质量,找到写作方向,保持动力,增加粉丝数?
- 2019年5月7日公布的全国水质排行榜_全国城市水质排名一览表
- 【英语天天读】I have as much soul as you
- 清华天才王垠受邀面试阿里P9,被阿里P10赵海平面跪,传言阿里P10赵海平被P11多隆判定3.25离职,整个事件回顾......
- 乌班图linux分辨率不能调,ubuntu分辨率1024*768无法选择解决方法
- springboot+springsecurity+阿里云短信服务验证实现注册登录
- 510758-19-7,5-FAM-Alkyne高选择性和灵敏的荧光生物标记物,可用于标记碱性磷酸酶 (ALP)
- steam中国版linux游戏下载,steam linux下载
- linux-mariadb