目录

一、语言和环境

二、实现功能

1、文件复制功能(IO)

2、消息接受站建设

三、评分标准

四、实现代码


一、语言和环境

  1. 实现语言:Java。
  2. 开发工具:eclipse。
  3. 使用技术:IO流+网络编程+多线程

二、实现功能

本系统要求实现易购商城的登录页面、首页面和购物车页面,具体实现功能如下:

1、文件复制功能(IO)

需求介绍:通过IO流技术点实现将文件从D盘根目录下复制到“D://java高级/answer”文件中;文件夹必须通过代码实现创建;

实现步骤:

(1)从FTP中下载“一剪梅.txt”文件,复制存放到D盘根目录下(D://)。

(2)创建FileCopyUtil类,使用IO流编写代码,通过代码实现文件的复制功能;

(3)使用代码在D盘下创建多级文件夹(D://java高级/answer; 注:无代码创建不计分);

(4)通过执行编写的代码块,将D盘下的“一剪梅.txt”文件复制到新创建好的“answer”文件夹中(注:无代码创建不计分);

2、消息接受站建设

需求介绍:分别编写客户端和服务端,客户端程序从控制台输入,敲击enter(回车)健发出消息,服务端接收消息并打印输出在服务端控制台;假如有100万个客户端同时发送消息给服务端,服务端需要从控制台打印输出100万条消息,为了提高效率,需要使用线程完成服务端代码;

实现步骤:

(1)通过ServerSocket创建服务端,端口号为8088;同时打印输出:“消息接受模式已启动”;

(2)使用while循环和多线程满足庞大客户量(客户端)所发出消息的接受,并以字符串打印输出在服务端控制台(注:需要注明是谁发出的消息,名字为:学生本人真实姓名;只需要一条信息即可,但必须通过多线程实现);

(3)通过new Socket("127.0.0.1",8088)创建客户端;实现从控制台发出消息,由于客户端每次只是发出一条消息,所以不需要使用线程,但需要在控制台打印输出(例如:您好,小王(注:你的真实名字)!您已连接成功!);

三、评分标准

题目一:文件复制功能

该评分标准如下:

15

通过代码创建多级目录(D://java高级/answer)

35

创建FileCopyUtil类实现复制功能

2

类名正确

30

在类中添加main方法,启动完成文件的复制

3

代码工整,命名规范

小计

50

题目二:消息接受站建设 消息接受站平台建 消息接受站平台建设 消息接受站平台建设

该评分标准如下:

20

客户端:正确创建客户端,并实现客户端的输入输出流

30

服务端

20

创建线程类,编写方法(输入流),转化为字符串并打印输出在控制台中

8

创建服务端,在循环中启动多线程,实现消息的接受功能

2

代码工整,命名规范

小计

50

合计

100

四、实现代码

1、文件复制功能(IO)

package file.copy;

import java.io.File;

public class CreateFile {
public static void main(String[] args) {
//创建多级目录
File file = new File("D://java高级/answer");
file.mkdirs();
if (file.exists()) {
System.out.println("文件已创建!");
}
}
}
package file.copy;

import java.io.File;

public class FileCopy {
public static void main(String[] args) {
//调用复制文件的方法
FileCopyUtil fileCopyUtil = new FileCopyUtil();
fileCopyUtil.copyFile("D://一剪梅.txt", "D://java高级/answer/一剪梅.txt");
}
}
package file.copy;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class FileCopyUtil {
//文件输入流
private FileInputStream inputStream;
//文件输出流
private FileOutputStream outputStream;
//文件的内容长度
private static int length;
/**
* 复制文件的方法
* @param beginFile 起始文件的路径(被复制的文件地址)
* @param endFile 目标文件的路径(被粘贴文件的质地)
*/
public void copyFile(String beginFile,String endFile) {
if (beginFile!=null&&endFile!=null) {
try {
//根据文件路径创建输入输出流对象
inputStream=new FileInputStream(beginFile);
outputStream=new FileOutputStream(endFile);
try {
//根据输入流对象获取需要复制的文件长度
length = inputStream.available();
//声明字节数据并定义空间大小
byte[] by=new byte[length];
//使用输入流将数据以字节的形式储存在by字节数组
inputStream.read(by);
//使用输出流将数据输出到目标文件(endFile)
outputStream.write(by);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
inputStream.close();
outputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

2、消息接受站建设

package message;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket; public class SocketServer {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8088);
System.out.println("消息接受模式已启动...");
//定义初始上线人数为0
while (true) {
Socket socket = server.accept();
//线程启动
new Thread(new ServerThread(socket)).start();
}
}
}
package message;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket; public class ServerThread implements Runnable{
public Socket socket; public ServerThread(Socket socket) {
super();
this.socket = socket;
} @Override
public void run() {
// TODO Auto-generated method stub
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (true) {
String readLine = bufferedReader.readLine();
System.out.println(readLine);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }
package message;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket; public class SocketServer {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(8088);
System.out.println("消息接受模式已启动...");
//定义初始上线人数为0
while (true) {
Socket socket = server.accept();
//线程启动
new Thread(new ServerThread(socket)).start();
}
}
}

云南农职 - 互联网技术学院 - 美和易思大一SCME JAVA高级结业考试机试试题的更多相关文章

  1. 美和易思 · 「云农职互联网技术学院」HTML+CSS 做西普尼金表官网

    假期作业,好久没碰了,代码写得很烂......写博客纯属记录! 源代码下载地址:https://download.csdn.net/download/weixin_44893902/12805555 ...

  2. 云南农业职业技术学院 - 互联网技术学院 - 美和易思《MYSQL 高级查询与编程》 综合机试试卷

    数据库及试题文档下载:https://download.csdn.net/download/weixin_44893902/14503097 目录 题目:电商平台 mysql 数据库系统管理 一. 语 ...

  3. HTML5 +Java基础 大一结业认证考试试题 - 云南农业职业技术学院 - 互联网技术学院 - 美和易思校企合作专业

     第1题 [单选题][0.33分][概念理解] 关于java中的逻辑运算符,下列说法正确的是 逻辑运算符||.&&.!都是用于连接两个关系表达式</p> 当&&am ...

  4. Java高级大一结业认证考试试题 - 云南农业职业技术学院 - 互联网技术学院 - 美和易思校企合作专业

     第1题 .关于XML的文档结构描述错误的是 一个基本的XML文档通常由序言和文档元素两部分组成 XML文档中的序言可以包括XML声明.处理指令和注释 XML文档中的元素以树形结构排列 XML文档的声 ...

  5. 「物流跟踪管理系统」 · Java Swing + MySQL JDBC开发,美和易思结业考试机试试题

    目录 文档说明: 一.语言和环境 二.技术要求 三.功能要求 四.数据库设计 五.具体要求及推荐实现步骤 六.注意事项 实现代码: 一.数据库 二.Java Swing com.ynavc.Bean ...

  6. 美和易思 - JAVA开发&移动互联网 阶段性教学效果检测考试机试试题【题目:维护洗衣店消费项数据】

    一. 语言和环境 1. 实现语言:Java 语言. 2. 环境要求:Eclipse 或 Myeclipse+MySQL. 二. 功能需求 利用 Java Swing 和 JDBC 技术维护洗衣店消费项 ...

  7. 云南农业职业技术学院 / 互联网技术学院官网 HTML5+CSS3

    HTML学完后写了,有小组成员参与开发,我只写了主页,那就只贴主页的代码出来了. 作为初学者,代码写得不太好,写博客纯属记录!有问题望指导! 码云开源仓库地址:https://gitee.com/yn ...

  8. ​​​​​​​《MYSQL高级查询与编程》综合机试试卷 - 云南农职美和易思

    题目:银行mysql数据库系统管理 目录 题目:银行mysql数据库系统管理 一.语言和环境 二.题目(100分): 功能需求: 要求: 三.提交方式 四.评分标准: 五.实现代码: 创建表结构: 插 ...

  9. 云南农职《JavaScript交互式网页设计》 综合机试试卷①——实现购物车的结算

    一.语言和环境 实现语言:javascript.html.css. 开发环境:HBuilder. 二.题目2(100分) 1.功能需求: 马上过节了,电商网站要进行促销活动,需要实现该商城购物车的商品 ...

随机推荐

  1. 【Java 泛型】之 <? super T> 和<? extends T> 中 super ,extends如何理解?有何异同?

    Java 泛型 <? super T> 和<? extendsT>中 super ,extends怎么 理解?有何不同? 简介 前两篇文章介绍了泛型的基本用法.类型擦除以及泛型 ...

  2. SpringMVC responseBody注解分析

    @responsebody表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@respo ...

  3. 注册页面的servlet

    package cn.itcast.travel.web.servlet;import cn.itcast.travel.domain.ResultInfo;import cn.itcast.trav ...

  4. java中关于string类和常量池的一点猜想

    public class StringTest { /**   * @param args   */  public static void main(String[] args) {   test1 ...

  5. 日程表(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 Project默认打开时,在功能区下面会有一个[日程表],如果不见了,那肯定里什么时候手贱关掉的,不要紧,还可以到[视图] ...

  6. CF1490D Permutation Transformation 题解

    Content 给定一个排列 \(a\),按照以下方法构造一棵树: 选择当前排列中的最大数作为根的编号. 最大数左边的所有数按照上述方法建左子树,若没有数则该节点没有左儿子. 最大数右边的所有数按照上 ...

  7. Java 常用类库一,main方法传参String[] args;获取输入Scanner ;hasNext();hasNextInt()

    1. main方法传参 package com.zmd.common_class_libraries; /** 给mian方法传参测试 */ public class MainArgsTest { p ...

  8. 如何把maven项目转为eclipse项目

    如何把maven项目转为eclipse项目,按照如下操作便可. 在cmd窗口, 载cmd窗口进入到maven项目所在目录下,输入如下命令: mvn eclipse:eclipse 这样便可.

  9. react 结合gitte 创建项目(详情步骤)

    ​ 创建项目第一步 基本搭建 在创建之前,需要有一个git 仓库,我们要把项目搭建到git 中 目录介绍 cd 到某个盘 mkdir workspace 创建workspace文件夹 cd works ...

  10. SpringBoot整合Netty实现socket通讯简单demo

    依赖 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifa ...