Week12《java程序设计》第12次作业总结

1. 本周学习总结

1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容。

2. 面向系统综合设计-图书馆管理系统或购物车

使用流与文件改造你的图书馆管理系统或购物车。

2.1 简述如何使用流与文件改造你的系统。文件中数据的格式如何?

答:在注册登录模块中,在用户仓库中无法找到的用户,使用对象流和缓冲流查找对应文件是否存在,不存在就进行注册。从文件中读取影虎的登录信息。登录成功后,使用组合过滤流读取用户的书库信息。

2.2 简述系统中文件读写部分使用了流与文件相关的什么接口与类?为什么要用这些接口与类?

答:使用的类有ObjectInputStream,ObjectOutputStream,BufferedInputStream,BufferedOutputStream,FileInputStream, FileOutputStream。使用对象流ObjectInputStream和ObjectOutputStream将内存中的对象整个存储和还原。使用BufferedInputStream,BufferedOutputStream缓冲流提高读写的效率。FileInputStream, FileOutputStream打开文件和输出数据到文件中。

2.3 截图读写文件相关代码。关键行需要加注释。

答:

3. 代码量统计

3.1 统计本周完成的代码量

需要每周的代码统计情况融合到一张表中。

周次 总代码量 新增代码量 总文件数 新增文件数
1 0 0 0 0
2 0 0 0 0
3 0 0 0 0
4 0 0 0 0
5 739 739 16 16
6 1084 345 28 12
7 1180 96 30 2
8 1627 447 35 5
9 1986 359 44 9
10 2350 364 56 12
11 2534 184 61 5
12 2909 375 70 9
13 4135 1226 93 23

选做:4. 流与文件学习指导(底下的作业内容全部都是选做)

1. 字符流与文本文件:使用 PrintWriter(写),BufferedReader(读)

将Student对象(属性:int id, String name,int age,double grade)写入文件student.data、从文件读出显示。

1.1 生成的三个学生对象,使用PrintWriter的println方法写入student.txt,每行一个学生,学生的每个属性之间用|作为分隔。使用Scanner或者BufferedReader将student.txt的数据读出。(截图关键代码,出现学号)

答:

1.2 生成文件大小多少(使用右键文件属性查看)?分析该文件大小

答:文件大小为45个字节:

1.3 如果调用PrintWriter的println方法,但在后面不close。文件大小是多少?为什么?

答:0个字节,缓冲区的数据因为没有close而丢失。

2. 缓冲流

2.1 使用PrintWriter往文件里写入1千万行(随便什么内容都行),然后对比使用BufferedReader与使用Scanner从该文件中读取数据的速度(只读取,不输出),使用哪种方法快?截取测试源代码,出现学号。请详细分析原因?提示:可以使用junit4对比运行时间

答:使用BufferedReader的读取速度较快。
运行截图:

源代码:


2.2 将PrintWriter换成BufferedWriter,观察写入文件的速度是否有提升。记录两者的运行时间。试分析原因。

答:换成BufferedWriter以后,写入文件的速度有很大提升。直接从缓冲区写出数据,不必在等待缓冲区数据满的时间。

Week12《java程序设计》第12次作业总结的更多相关文章

  1. Week09《java程序设计》第九次作业总结

    Week09<java程序设计>第九次作业总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 答: 2. 书面作业 本次作业题集集合 1. Li ...

  2. 201771010141 周强 面向对象程序设计(Java)第12周作业

    实验十二  图形程序设计 实验时间 2018-11-14 1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌握Java GUI中2D图形绘制常用类的AP ...

  3. C语言程序设计第12次作业

    一.本次课主要内容: 本章主要介绍指针相关的基础知识,本节课的主要如下 (1)通过示例"电码加密"引入字符指针与字符串处理.首先重点介绍字符指针和字符串的关联和区别,然后对常用字符 ...

  4. 201621123062《java程序设计》第九周作业总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 思维导图1:(对集合部分做了一些改动和细化) 思维导图2:(泛型) 1.2 选做:收集你认为有用的代码片段 代 ...

  5. 201621123062《java程序设计》第四周作业总结

    1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 关键词:重载.继承.多态.static.final.抽象类 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需要 ...

  6. Java程序设计的第二次作业

    本次作业包含两个部分:一是以下4个题目的程序源码和运行结果截图:二是本次作业的小结(谈谈你在做作业的过程中遇到了哪些问题,如何解决,有哪些收获). 1.编写“人”类及其测试类.1.1 “人”类: 类 ...

  7. Java程序设计(五)作业

    题目1:Lisa正在编写一个能够计算三科--数学.英语.程序设计基础--平均成绩(平均成绩=三科总成绩/3)和智育成绩(智育成绩=三科总成绩*0.7)的程序.由于两个成绩的获得都要先计算总成绩,因此她 ...

  8. Java程序设计(四)作业

    要求:定义一个Java项目,项目名为"学号_姓名_题号",如:"20181101_张三_1",完成后将项目复制到桌面并压缩提交到邮箱82794085@qq.co ...

  9. Java程序设计(三)作业

    题目1:用户输入学号,如果是以ccutsoft开头,并且后边是4位数字,前两位大于06小于等于当前年份.判断用户输入是否合法.ccutsoft_0801. 1 //题目1:用户输入学号,如果是以abc ...

  10. 201521123027<java程序设计>第14周作业总结

    1.本周作业总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2.书面作业 Q1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己 ...

随机推荐

  1. PHP 日期格式中 Y与y

    大写Y效果: $nowtime = time(); $nowtime=date("Y-m-d",$nowtime); 结果: 2015-10-24 小写y效果: $nowtime ...

  2. 基于tomcat集群做session共享

    前端代理服务器nginx:192.168.223.136 tomcat服务器:采用的一台多实例192.168.223.146:8081,192.168.223.146:8082(如何构建多实例tomc ...

  3. 通过paramiko模块在远程主机上执行命令

    安装paramiko模块 /usr/local/python36/bin/pip3 install paramiko 1.获取cpu使用率 #!/usr/bin/python #coding=utf8 ...

  4. 20145313张雪纯 《Java程序设计》8周学习总结

    20145313张雪纯 <Java程序设计>8周学习总结 教材学习内容总结 java.util.logging包的优点在于提供了日志功能相关类与接口,不必额外配置日志组件就可以在标准jav ...

  5. 20145322《Java程序设计》第2次实验报告

    20145322<Java程序设计>第2次实验报告 实验步骤与内容 一.实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4. ...

  6. 20145327 《Java程序设计》第十周学习总结

    20145327 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程就是运行在不同计算机中两个程序之间的数据交换. 网络中的每个设备都会有一个唯一的数字标识,这个就是IP地址. ...

  7. 20135320赵瀚青LINUX第五周学习笔记

    赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 概述 按照刘老师的周从三个角 ...

  8. ARTS Week 002

    Algorithm Leetcode 2. Add Two Numbers You are given two non-empty linked lists representing two non- ...

  9. Linux系统调用怎么和内核或底层驱动交互的

    学习Linux系统下驱动程序开发已有大半年时间,心中一直有个疑惑:那就是诸如open.write.read等系统调用是怎么和内核或底层驱动建立起联系的呢?今天将自己的一些粗略的理解总结如下.      ...

  10. Linux 下 YUM 安装 PHP 5.5 (及5.6)

    原文链接: http://blog.aboutc.net/linux/50/yum-install-php-on-linux 系统环境: CentOS 6.4 x86_64 Fedora 20 x86 ...