设计需求:从客户端上传txt文件到服务器,服务端收到文件后,发送消息给客户端接收完成。

1. 服务器端:

public class UpLoadFileServer {

public static void main(String[] args) throws Exception {

ServerSocket ss = new ServerSocket(10010);

Socket s =ss.accept();

BufferedReader bufin = new BufferedReader(new InputStreamReader(s.getInputStream()));

BufferedWriter bufw =new BufferedWriter(new FileWriter("D:\\server.txt"));

String line1 =null;

while((line1=bufin.readLine())!=null)
{
bufw.write(line1,0,line1.length());
}

System.out.println("服务端接收完了。。。。");
PrintWriter out = new PrintWriter(s.getOutputStream(),true);
out.println("上传成功");
System.out.println("服务端反馈客户端完了。。。。");

bufw.close();

s.close();
ss.close();

}
}

2. 客户端:

public class UploadFileClient {

public static void main(String[] args) throws Exception {

Socket s = new Socket("192.168.5.163",10010);

File file =new File("d:\\1.txt");

BufferedReader buffer =new BufferedReader(new FileReader(file));

PrintWriter out = new PrintWriter(s.getOutputStream(),true);

String line =null;

while((line=buffer.readLine())!=null)
{
out.println(line);
System.out.println("客户端读取文件里的内容"+line);
}

System.out.println("客户端发完了 。。。。。");
BufferedReader bufin = new BufferedReader(new InputStreamReader(s.getInputStream()));
s.shutdownOutput();
String result=bufin.readLine();
System.out.println("客户端接收到了服务器的数据了 。。。。。");
System.out.println(result);

buffer.close();
s.close();
}
}

小总结:之前运行一直不成功,进行调试发现,是客户端这边数据已经传输完了,但是服务器端还一直在等待客户端继续传递数据过来,而且一直没有把接收到的数据写到文件内。后在客户端增加:s.shutdownOutput();就能成功上传文件。

java 网络编程(五)----TCP进阶篇上传文本文件的更多相关文章

  1. Java 网络编程 -- 基于TCP实现文件上传

    Java TCP 操作基本流程 一.创建服务器 1.指定端口, 使用serverSocket创建服务器 2.阻塞式连接 accept 3.操作:输入流 输出流 4.释放资源 二.创建客户端 1.使用S ...

  2. Java 网络编程 -- 基于TCP 模拟多用户登录

    Java TCP的基本操作参考前一篇:Java 网络编程 – 基于TCP实现文件上传 实现多用户操作之前先实现以下单用户操作,假设目前有一个用户: 账号:zs 密码:123 服务端: public c ...

  3. 转 Android网络编程之使用HttpClient批量上传文件 MultipartEntityBuilder

    请尊重他人的劳动成果,转载请注明出处:Android网络编程之使用HttpClient批量上传文件 http://www.tuicool.com/articles/Y7reYb 我曾在<Andr ...

  4. iOS开发之网络编程--使用NSURLConnection实现文件上传

    前言:使用NSURLConnection实现文件上传有点繁琐.    本文并没有介绍使用第三方框架上传文件. 正文: 这里先提供用于编码测试的接口:http://120.25.226.186:3281 ...

  5. java 26 - 9 网络编程之 TCP协议多用户上传文件

    TCP实现多用户上传文件: 需要同时给多用户上传文件,这样就得用多线程来实现. 实际上,这样的话,上传的先后顺序和速度就跟客户端的带宽有关:带宽够,就容易抢占到线程的执行权: 首先,创建个线程类:(这 ...

  6. Java网络编程(TCP协议-练习-上传文本文件)

    客户端: package WebProgramingDemo; import java.io.BufferedReader; public class UploadTextClient { /** * ...

  7. java 网络编程 UDP TCP

    网络编程 网络编程主要用于解决计算机与计算机(手机.平板..)之间的数据传输问题. 网络编程: 不需要基于html页面就可以达到数据之间的传输. 比如: feiQ , QQ , 微信....网页编程: ...

  8. java网络编程基础——TCP网络编程一

    基于TCP协议的网络编程 TCP/IP协议是一种可靠的网络协议,它的通信的两端各自建立一个Socket,从而在通信的两端之间形成网络虚拟链路. Java使用Socket对象来代表两端的通信端口,并通过 ...

  9. IOS网络第五天 AFN-02-文件上传,底部弹出窗体,拍照和相册获取图片上传

    ************** #import "HMViewController.h" #import "AFNetworking.h" @interface ...

随机推荐

  1. 文件操作_菜单<代码>

    info文件中的内容为: { "河北省": {"石家庄": {"无极县":"", "高邑县":&qu ...

  2. asp.net字符串的数学表达式计算结果

    using System; using System.Collections.Generic; using System.Web; using System.CodeDom.Compiler; usi ...

  3. 在magento中如何回复客户的评论

    magento — 在magento中如何回复客户的评论 发表于 2012 年 8 月 18 日 agento本身是不带 回复评论的功能的,现成的扩展(无论免费的还是商业的)也没找到,那就自己写一个吧 ...

  4. web页面的适配问题

    一个web页面既要在宽屏上显示,又要在窄屏上显示,既要在电脑上显示,又要在手机上显示,这个适配问题相当的麻烦. 其实解决电脑与手机的适配问题,一般有两个思路:一个是做判断,根据不同条件在css和js做 ...

  5. ubuntu下安装boost环境

    改自 http://blog.chinaunix.net/uid-12226757-id-3427282.html =============第一种: 也是最简单的:进入linux系统后,输入   # ...

  6. POCO 是什么?

    POCO(Plain Old C#/CLR Object),意为:纯老式的 C#/CLR 对象,也可以称为简单的 C#/CLR 对象,POCO 的概念来自于 POJO(Plain Old Java O ...

  7. Android 在Windows上安装FFmpeg程序

    FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它提供了录制.转换以及流化音视频的完整解决方案.它包含了非常先进的音频/视频编解码库libavcodec. 该程序 ...

  8. Java 线程池的介绍以及工作原理

    在什么情况下使用线程池? 1.单个任务处理的时间比较短 2.将需处理的任务的数量大 使用线程池的好处: 1. 降低资源消耗: 通过重复利用已创建的线程降低线程创建和销毁造成的消耗.2. 提高响应速度: ...

  9. ios app下载跳到itunes

    <body class="box"> <div class="text"> <a href="https://itune ...

  10. Swift游戏实战-跑酷熊猫 10 视差滚动背景

    原理 实现 勘误 “实现”的视频中有个错误,如下 背景移动时有个错误,看红色部分,近景归位时,第二张图片的下标是1 if arrBG[0].position.x + arrBG[0].frame.wi ...