• 学号: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编码即可

    运行结果:

  • 相关阅读:
    让Lua支持Linq吧
    游戏提高性能 游戏降帧处理
    Lua BehaviourTree 各节点说明
    AssetsManagerEx 组件使用说明
    CocosStudio文件解析工具CsdAnalysis
    Cocos2dx实现光影效果的两种方式
    C++ 版本的 行为树的简单实现
    Buff系统设计
    SetZOrder 无效
    CClayer ignoreAnchorPointForPosition 参数的作用
  • 原文地址:https://www.cnblogs.com/862139498wcy/p/8007580.html
Copyright © 2020-2023  润新知