全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

使用socket进行服务端与客户端传文件的方法

逻辑:

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小时内与您取得联系。