一.本周学习总结

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

二.书面作业

本次PTA作业题集多线程

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

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

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

    上周写图书馆管理系统时就直接使用文件来进行操作了,但由于当时还没有学流与文件,写的就非常的杂乱,这周根据上课内容进行了修改。

    文件中数据的格式如何如下:

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

    使用了ReaderWriter的子类FileReaderFileWriter用于读写文件;BufferedReaderBufferedWriter用于提供缓冲,用以加速;PrintWriter用来提供println方法。

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

2. 代码量统计

  • 2.1 统计本周完成的代码量

周次 总代码量 新增代码量 总文件数 新增文件数
1 193 193 6 6
2 625 432 35 29
3 1076 451 41 6
4 1472 396 47 6
5 1932 460 53 6
6 2235 303 57 4
7 2651 416 62 5
8 2895 244 67 5
9 3275 380 73 6
10 3544 269 81 8
11 4175 631 90 9
12 4273 98 92 2

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

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 生成文件大小多少(使用右键文件属性查看)?分析该文件大小

    生成文件为42字节,数字、字母和字符都为1个字节,换行符占2个字节,共3行,每行14个字节,所以共42字节。

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

    文件大小为0,因为数据在缓冲区中,如果不使用close()方法,数据就不会被存储而是直接丢失。

3. 字符编码

  • 3.1 现有EncodeTest.txt 文件,包含一些中文,该文件使用UTF-8编码。使用FileReader与BufferedReader将EncodeTest.txt的文本读入并输出。是否有乱码?为什么会有乱码?如何解决?(截图关键代码,出现学号)

    由上图可知有乱码,因为Reader类是Java的I/O中读字符的父类,而InputStream类是读字节的父类,InputStreamReader类就是关联字节到字符的桥梁,它负责在I/O过程中处理读取字节到字符的转换,而具体字节到字符的解码实现它由StreamDecoder去实现,在StreamDecoder解码过程中必须由用户指定Charset 编码格式。本题中没有指定Charset,将使用本地环境中的默认字符集GBK编码。

    参考文档

 posted on 2017-12-09 18:02  jaqdm  阅读(96)  评论(1编辑  收藏  举报