学号:201621123032 《Java程序设计》第12周学习总结
1:本周学习总结
1.1:以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容。
2:面向系统综合设计-图书馆管理系统或购物车
2.1: 简述如何使用流与文件改造你的系统。文件中数据的格式如何?
比起上次图书信息储存在hashmap里,本次采用流与文件将图书信息放在了文件里,也从文件里读取信息。
文件格式为: .txt。
2.2:简述系统中文件读写部分使用了流与文件相关的什么接口与类?为什么要用这些接口与类?
使用字符输出流:FileWriter,BufferedWriter。 字符输入流:FileReader ,BufferedReader
- FileWriter:创建文件字符输出流
- BufferedWriter:使用缓冲数据流封装输出流
- FileReader:创建文件字符输入流
BufferedReader:使用缓冲数据流封装输入流
为了从文件中读取信息和将新添信息写入文件中。2.3: 截图读写文件相关代码。关键行需要加注释。
将图书内容储存到文件里:
查询某本图书信息:
删除文件里的某行图书信息:先将信息储存到动态数组里,在重写文件信息。
部分功能还没
有实现。
运行结果:
3:代码量统计
周次 | 总代码量 | 新增加代码量 | 总文件夹 | 新增加文件夹 |
---|---|---|---|---|
1 | 114 | 114 | 11 | 11 |
2 | 520 | 406 | 16 | 6 |
3 | 1089 | 569 | 22 | 6 |
5 | 1425 | 336 | 29 | 7 |
6 | 1819 | 394 | 31 | 2 |
7 | 2987 | 1168 | 54 | 23 |
8 | 5437 | 2450 | 79 | 25 |
9 | 5695 | 258 | 84 | 5 |
10 | 6680 | 985 | 102 | 18 |
11 | 6935 | 255 | 111 | 9 |
12 | 7401 | 466 | 123 | 12 |
13 | 8899 | 1498 | 141 | 18 |
4:选做
4.1: 字符流与文本文件:使用 PrintWriter(写),BufferedReader(读)
1: 生成的三个学生对象,使用PrintWriter的println方法写入student.txt,每行一个学生,学生的每个属性之间用|作为分隔。使用Scanner或者BufferedReader将student.txt的数据读出。(截图关键代码,出现学号)
运行结果:
2:生成文件大小多少(使用右键文件属性查看)?分析该文件大小
每行16个字节
num:2, name:4, age:2,grade:5 分隔符:3
4.2:缓冲流
1:使用PrintWriter往文件里写入1千万行(随便什么内容都行),然后对比使用BufferedReader与使用Scanner从该文件中读取数据的速度(只读取,不输出),使用哪种方法快?截取测试源代码,出现学号。请详细分析原因?提示:可以使用junit4对比运行时间
使用BufferedReader更快,BufferedReader使用缓冲可以减少IO次数,所以读取速度变快。
时间对比:
4.3:
1: 现有EncodeTest.txt 文件,包含一些中文,该文件使用UTF-8编码。使用FileReader与BufferedReader将EncodeTest.txt的文本读入并输出。是否有乱码?为什么会有乱码?如何解决?(截图关键代码,出现学号)
会乱码,因为文件是UTF-8编码,但是读取的编码是用GBK。
解决:只要代码读取时改用UTF-8编码即可
运行结果:
学号:201621123032 《Java程序设计》第12周学习总结的更多相关文章
- 学号20145322 《Java程序设计》第一周学习总结
学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ...
- 面向对象程序设计(JAVA) 第12周学习指导及要求
2019面向对象程序设计(Java)第12周学习指导及要求 (2019.11.15-2019.11.18) 学习目标 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 2018面向对象程序设计(Java)第12周学习指导及要求
2018面向对象程序设计(Java)第12周学习指导及要求 (2018.11.15-2018.11.18) 学习目标 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌 ...
- 学号20145303 《Java程序设计》第一周学习总结
学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...
- 2018-2019-3《Java程序设计》第二周学习总结
学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...
- 2018-03-11 20165235祁瑛《Java程序设计》第二周学习总结
2018-03-11 20165235祁瑛<Java程序设计>第二周学习总结 教材学习内容总结 第二章要点: 在这一章中我学到了很多东西: (1)布尔类型boolean,布尔类型的赋值只能 ...
- # 20155236 2016-2017-2 《Java程序设计》第二周学习总结
20155236 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 对于类型.变量.运算符.流程控制等等的学习.在其中包含着基本的语法元素,还有基本的逻辑语句. ...
- 20165324 《Java程序设计》第九周学习总结
学号 20165324 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 Java网络编程 URL类 使用URL创建对象的应用程序称为客户端 一个URL对象封装一个具体资源的 ...
随机推荐
- Aspose.Words for .NET
Aspose.Words for .NET Aspose.Words for .NET是 .NET 下先进的 Word 文档处理 API.它支持 DOC, OOXML, RTF, HTML, Open ...
- Java百度地图经纬度纠偏
在国内使用电子地图获取到的经纬度都不是真实的经纬度,而是经过一定的算法在真实的经纬度上添加了一个偏移量,且不同的地图有不同的算法.现在告诉大家在java中怎样对百度地图进行纠偏,主要实现将真实的经纬度 ...
- 【BZOJ4530】大融合(Link-Cut Tree)
[BZOJ4530]大融合(Link-Cut Tree) 题面 讨厌权限题!!! Loj链接 题目描述 小强要在 N个孤立的星球上建立起一套通信系统.这套通信系统就是连接 N个点的一个树.这个树的边是 ...
- 【BZOJ2157】旅游(树链剖分,Link-Cut Tree)
[BZOJ2157]旅游(树链剖分,Link-Cut Tree) 题面 Description Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥 ...
- 重磅消息-Service Fabric 正式开源
微软的Azure Service Fabric的官方博客在2017.3.24日发布了一篇博客 Service Fabric .NET SDK goes open source ,介绍了社区呼声最高的S ...
- window.close(); 关闭浏览器窗口js代码
序号 关闭代码 需要确认 无任何作用 无需确认 测试 1 window.close() IE7 firefox,chrome,safari Opera Close 2 window.opener=nu ...
- Android 中 SearchView
package com.example.euphemiaxiao.classsearch; import android.os.Bundle; import android.support.v7.ap ...
- java设计模式单例模式 ----懒汉式与饿汉式的区别
常用的五种单例模式实现方式 ——主要: 1.饿汉式(线程安全,调用率高,但是,不能延迟加载.) 2.懒汉式(线程安全,调用效率不高,可以延时加载.) ——其他: 1.双重检测锁式(由于JVM底层内部模 ...
- 记录一次网站漏洞修复过程(三):第二轮处理(拦截SQL注入、跨站脚本攻击XSS)
在程序编写的时候采用参数化的SQL语句可以有效的防止SQL注入,但是当程序一旦成型,再去修改大量的数据库执行语句并不是太现实,对网页表单上输入进行校验是易于实现的方法.在webForm 页面中开启校验 ...
- 使用Angular CLI生成 Angular 5项目
如果您正在使用angular, 但是没有好好利用angular cli的话, 那么可以看看本文. Angular CLI 官网: https://github.com/angular/angular- ...