逻辑:

1.客户端将需要查找的文件名以流的形式传给服务端
2.服务端接受客户端的连接,把流转化为字符串,进行一个目录的遍历,查找是否存在需要的文件,若未找到,则输出未找到,若找到,则将文件转化为流,传给客户端
3.客户端准备接受,将服务端传过来的流转化为文件,存储下载。
4,至此,完成一个简单的客户端与服务端传输文件的小栗子~
Client.Java
package com.ysk;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 5555);
OutputStream os = socket.getOutputStream();// 字节输出流
PrintWriter pw = new PrintWriter(os);
pw.write("aa.txt");//输入需要搜索的文件名
pw.flush();
socket.shutdownOutput();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String a = "";
String temp = "";
while ((temp = in.readLine()) != null) {
a += temp;
}
PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream("src\\asb.txt")));
out.write(a);
out.flush();
out.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
}
}
}
Server.java
package com.ysk;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
static ServerSocket serverSocket;
public static void main(String[] args) {
try {
serverSocket = new ServerSocket(5555);
System.out.println("***服务器即将启动,等待客户端的连接***");
Socket socket = serverSocket.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String file = br.readLine();
findFile("src", file);
if (result) {
System.out.println("已找到" + file);
File f = new File(file);
// File copyfile = new File("src\\file", "bb.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(filepath + file)));
System.out.println(filepath + file);
String a = "";
String temp = "";
while ((temp = in.readLine()) != null) {
a += temp;
}
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
out.write(a);
out.flush();
socket.shutdownOutput();
} else {
System.out.println("未找到文件");
}
} catch (IOException e) {
e.printStackTrace();
}
}
需自备aa.txt,这种资源文件,以便测试。
总结
以上所述是小编给大家介绍的使用socket进行服务端与客户端传文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# socket客户端和服务端
# socket
# 服务端
# 客户端
# 传文件
# Java基于socket实现的客户端和服务端通信功能完整实例
# Java编程Socket实现多个客户端连接同一个服务端代码
# 基于Java的Socket多客户端Client-Server聊天程序的实现
# 详解基于java的Socket聊天程序——服务端(附demo)
# 客户端Socket与服务端ServerSocket串联实现网络通信
# 未找到
# 小编
# 在此
# 遍历
# 给大家
# 转化为
# 所述
# 给我留言
# 感谢大家
# 是否存在
# 则将
# 疑问请
# 有任何
# 传输文件
# import
# io
# OutputStreamWriter
# IOException
相关文章:
如何快速搭建自助建站会员专属系统?
建站主机选择指南:服务器配置与SEO优化实战技巧
如何在宝塔面板中创建新站点?
详解jQuery停止动画——stop()方法的使用
,想在网上投简历,哪几个网站比较好?
建站之星如何通过成品分离优化网站效率?
建站VPS能否同时实现高效与安全翻墙?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
建站上传速度慢?如何优化加速网站加载效率?
如何通过IIS搭建网站并配置访问权限?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
怎么将XML数据可视化 D3.js加载XML
如何通过WDCP绑定主域名及创建子域名站点?
如何用IIS7快速搭建并优化网站站点?
高防服务器:AI智能防御DDoS攻击与数据安全保障
网站制作价目表怎么做,珍爱网婚介费用多少?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
建站之星会员如何解锁更多建站功能?
制作旅游网站html,怎样注册旅游网站?
如何在Golang中引入测试模块_Golang测试包导入与使用实践
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
如何自定义建站之星网站的导航菜单样式?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
建站之星如何助力网站排名飙升?揭秘高效技巧
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
香港服务器如何优化才能显著提升网站加载速度?
实例解析angularjs的filter过滤器
平台云上自助建站如何快速打造专业网站?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
如何在IIS中配置站点IP、端口及主机头?
全景视频制作网站有哪些,全景图怎么做成网页?
北京网站制作公司哪家好一点,北京租房网站有哪些?
如何高效搭建专业期货交易平台网站?
如何选择可靠的免备案建站服务器?
Android自定义listview布局实现上拉加载下拉刷新功能
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
如何快速生成高效建站系统源代码?
在线制作视频网站免费,都有哪些好的动漫网站?
油猴 教程,油猴搜脚本为什么会网页无法显示?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
,柠檬视频怎样兑换vip?
制作公司内部网站有哪些,内网如何建网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。