黑马程序员技术交流社区

标题: 【记录】代码练习-客户端读取文件,服务器端控制台输出 [打印本页]

作者: Kevin.Kang    时间: 2015-8-10 14:25
标题: 【记录】代码练习-客户端读取文件,服务器端控制台输出
客户端:
  1. package com.kxg_09;

  2. import java.io.BufferedInputStream;
  3. import java.io.BufferedOutputStream;
  4. import java.io.FileInputStream;
  5. import java.io.IOException;
  6. import java.net.Socket;

  7. /*
  8. * 客户端文本文件,服务器输出在控制台
  9. */
  10. public class ClientDemo {
  11.         public static void main(String[] args) throws IOException {

  12.                 // 创建客户端Socket对象
  13.                 Socket s = new Socket("10.164.22.254", 48264);

  14.                 // 封装数据源
  15.                 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
  16.                                 "a.txt"));

  17.                 // 封装通道中的流
  18.                 BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream());

  19.                 // 读取数据源
  20.                 byte[] bys = new byte[1024];
  21.                 int len = 0;
  22.                 while ((len = bis.read(bys)) != -1) {
  23.                         // 读取内容写入到通道流中
  24.                         bos.write(bys, 0, len);
  25.                 }

  26.                 // 释放资源
  27.                 bis.close();
  28.                 bos.close();
  29.         }
  30. }
复制代码




作者: Kevin.Kang    时间: 2015-8-10 14:31
服务器端:
  1. package com.kxg_09;

  2. import java.io.BufferedInputStream;
  3. import java.io.IOException;
  4. import java.net.ServerSocket;
  5. import java.net.Socket;

  6. public class ServerDemo {
  7.         public static void main(String[] args) throws IOException {

  8.                 // 创建服务器Socket对象
  9.                 ServerSocket ss = new ServerSocket(48264);

  10.                 // 监听客户端连接
  11.                 Socket s = ss.accept();

  12.                 // 封装通道中的流
  13.                 BufferedInputStream bis = new BufferedInputStream(s.getInputStream());

  14.                 // 读取通道中的流
  15.                 byte[] bys = new byte[1024];
  16.                 int len = 0;
  17.                 while ((len = bis.read(bys)) != -1) {
  18.                         // 字节数组转为字符串
  19.                         String str = new String(bys, 0, len);
  20.                         System.out.println(str);
  21.                 }

  22.                 s.close();
  23.         }
  24. }
复制代码








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2