问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

点对点文件传输,java的,恩人来看看吧

发布网友 发布时间:2022-05-03 08:14

我来回答

3个回答

热心网友 时间:2023-10-16 05:30

接收器
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class Reveiver {
public static void main(String[] args) throws Exception{
Scanner scanner = new Scanner(System.in);
System.out.println("please tell me the linstening port");
int port = Integer.parseInt(scanner.nextLine());
System.out.println("Receiver started");

ServerSocket ssocket = new ServerSocket(port);
while(true) {
Socket s = ssocket.accept();
System.out.println("File transfer comes,Please input a path to put the file");

String line = null;
while(line==null||line.equals("")) {
line = scanner.nextLine();
}
System.out.println("start transfer");
OutputStream os = new FileOutputStream(line);
InputStream is = s.getInputStream();
byte[] buffer = new byte[1024];
int cnt = 0;
while((cnt=is.read(buffer))>=0) {
os.write(buffer,0,cnt);
}
os.close();
is.close();
System.out.println("Complete");

}
}
}

发送器:
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;

public class Sender {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
System.out.println("please tell me the ip address of the target computer");
String host = scanner.nextLine();
System.out.println("please tell me the linstening port of the target computer");
int port = Integer.parseInt(scanner.nextLine());
Socket socket = new Socket(host, port);
System.out.println("please input the source path of your file");
File f = new File(scanner.nextLine());
while (!f.exists()) {
System.out.println("file you inputed does not exist");
f = new File(scanner.nextLine());
}
System.out.println("start transfer");
FileInputStream fis = new FileInputStream(f);
byte[] buffer = new byte[1024];
int cnt = 0;
OutputStream os = socket.getOutputStream();
while((cnt=fis.read(buffer))>=0) {
os.write(buffer,0,cnt);
}
os.close();
fis.close();
System.out.println("Complete");

}
}

------------------------------------------
接收器用法
please tell me the linstening port
808 -- 这行是输入的
Receiver started --这行完事后会等发送文件File transfer comes,Please input a path to put the file
d:\a.rar --这行是输入的,输入文件路径,包含文件名
start transfer
Complete
-----------------------------------------
发送器用法:
please tell me the ip address of the target computer
127.0.0.1 --输入的,目的地址
please tell me the linstening port of the target computer
808 --目的端口,和接收器输入的那个要匹配
please input the source path of your file
G:\WIN7 Activation.rar --输入文件全路径包含文件名
start transfer
Complete

先开recevier,再用sender发送。

热心网友 时间:2023-10-16 05:30

那就用飞鸽好了0.0 java有引用语句 调用他就ok了!

热心网友 时间:2023-10-16 05:31

不是B/S的 那你要C/S的?

热心网友 时间:2023-10-16 05:30

接收器
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class Reveiver {
public static void main(String[] args) throws Exception{
Scanner scanner = new Scanner(System.in);
System.out.println("please tell me the linstening port");
int port = Integer.parseInt(scanner.nextLine());
System.out.println("Receiver started");

ServerSocket ssocket = new ServerSocket(port);
while(true) {
Socket s = ssocket.accept();
System.out.println("File transfer comes,Please input a path to put the file");

String line = null;
while(line==null||line.equals("")) {
line = scanner.nextLine();
}
System.out.println("start transfer");
OutputStream os = new FileOutputStream(line);
InputStream is = s.getInputStream();
byte[] buffer = new byte[1024];
int cnt = 0;
while((cnt=is.read(buffer))>=0) {
os.write(buffer,0,cnt);
}
os.close();
is.close();
System.out.println("Complete");

}
}
}

发送器:
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;

public class Sender {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
System.out.println("please tell me the ip address of the target computer");
String host = scanner.nextLine();
System.out.println("please tell me the linstening port of the target computer");
int port = Integer.parseInt(scanner.nextLine());
Socket socket = new Socket(host, port);
System.out.println("please input the source path of your file");
File f = new File(scanner.nextLine());
while (!f.exists()) {
System.out.println("file you inputed does not exist");
f = new File(scanner.nextLine());
}
System.out.println("start transfer");
FileInputStream fis = new FileInputStream(f);
byte[] buffer = new byte[1024];
int cnt = 0;
OutputStream os = socket.getOutputStream();
while((cnt=fis.read(buffer))>=0) {
os.write(buffer,0,cnt);
}
os.close();
fis.close();
System.out.println("Complete");

}
}

------------------------------------------
接收器用法
please tell me the linstening port
808 -- 这行是输入的
Receiver started --这行完事后会等发送文件File transfer comes,Please input a path to put the file
d:\a.rar --这行是输入的,输入文件路径,包含文件名
start transfer
Complete
-----------------------------------------
发送器用法:
please tell me the ip address of the target computer
127.0.0.1 --输入的,目的地址
please tell me the linstening port of the target computer
808 --目的端口,和接收器输入的那个要匹配
please input the source path of your file
G:\WIN7 Activation.rar --输入文件全路径包含文件名
start transfer
Complete

先开recevier,再用sender发送。

热心网友 时间:2023-10-16 05:30

那就用飞鸽好了0.0 java有引用语句 调用他就ok了!

热心网友 时间:2023-10-16 05:31

不是B/S的 那你要C/S的?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
王卡专属免流包是什么意思 腾讯王卡专属流量是什么意思 人防临空墙排烟机房可以留洞吗? 瑞士转机的问题? 雅阁、第九代凯美瑞、迈腾,大空间的中级车推荐 云顶之弈双人排位介绍 金铲铲之战 金铲铲段位相差多少可以一起打? 现在上海办理居住证需要本人去吗 34周加5天是几个月 孕34周是几个月了 孕34周如何预防早产 c# 点对点文件传输 今天,6月10日上海老庙黄金男项链价格? 点对点文件传输 前景 点对点传输是一个什么概念?为什么两部手机建立一个wifi,另一部加入可以无需流量传输文件? QQ点对点续传文件是什么意思 数据在什么以帧的形式点对点传输 为什么虚拟机net模式下点对点文件传输失败 请问下malen是用水彩画,那用铅笔画用什么单词? illustrator怎么把位图转换成矢量图,怎么能质量高些,看上去不要像水彩画 请教Flash大虾们!!! 高手:我把一张像素较低的位图转换成矢量图后并不清晰,怎么办啊 请教高手 用coreldraw将位图转为矢量图出来感觉成水彩画了 而且上面的字都没了 怎么才能转呢 请详细说一下 Adobe Illustrator CS3 位图转矢量图怎么出来向水彩画 女朋友不开心的时候怎么哄? 女朋友不开心的时候怎么哄 女朋友不开心的时候怎么哄她开心啊 说一说女朋友不开心的时候应该怎么哄? 请大家帮我找一找《灯光》的教案... 中行企业银行为什么企业税号信息 19位税号是什么企业 深圳百泰千足金与上海老庙千足金为什么价格相差大 成毅为什么叫小程序? 安卓手机怎么和18款昂科威连接呢 中国黄金、上海老庙黄金等里面的千足金一样吗? bili+小程序怎么下载电视剧呢 这阵谁买过黄金?这阵子千足金的价格是多少?老庙千足金的价格又是多少? 别克昂科威蓝牙使用说明 戒指上印有 沪老庙千足金 是什么意思啊 真的假的 昂昂科威蓝牙怎么链接手机 哪里的电视剧最全 别克昂科威搜索不到蓝牙怎么办? 人教版必修二文言文有哪几篇 小程序中的文娱资讯是指什么 别克昂科威蓝牙怎么联接iPhone手机? 人教版高中文言文篇目 别克昂科威蓝牙怎么联接iPhone手机 高一必修二语文必考文言文有哪些 求山东人民出版社语文必修二要背的文言文篇目 男孩多大开始说话 小男孩一般多大会说话