标签:就是 时间 2.3 serial 取数 9.png filename new 3.1
使用流与文件改造你的图书馆管理系统或购物车。
使用对象输入流和对象输出流读写保存信息的map,读者借阅信息和书籍信息分别保存在map中,每次信息变化重新写入文件,再重新读取。
数据格式:对象流写入到文件是以二进制保存的,使用普通编辑器打开是乱码
把FileInputStream
包装到ObjectInputStream
中,然后就可以从中读取已存入的map
把FileOutputStream
包装到ObjectOutputStream
中,然后就可以把map写入到该输出流中
Book
类和Reader
类实现Serializable
接口,使其能够被序列化,这样map
一开始可以只用控制台,不一定要用Web。
测试数据:
演示:
粗略的做了一个,几乎没有涉及到算法,方法放在同一个类里,只对内存进行操作,没有涉及文件
搜索内容格式:id
(序号),searKey
(搜索关键字),details
(搜索内容)
数据存储:Map<id,details>
保存一条搜索内容的序号和具体内容,用Set[]
保存分词后的searchKey
,id
就是数组对应的下标
系统分为2部分
①添加搜索内容
②搜索
添加搜索内容add(String id, String searchKey, String details)
,map.put(id,details)
->调用addSearchKey(String id, String searchKey)
,把搜索关键字searchKey
分词后存入id
对应下标的Set
中
输入搜索词->getIds(String key)
方法获取搜索词分词后对应的Ids
(String保存,id之间用‘,‘隔开)-> getDetails(String ids)
方法返回一个保存具体内容的List<String>
->遍历输出List
主要是集合的使用,其他知识零碎的使用了一些。
需要将每周的代码统计情况融合到一张表中。
周次 | 行数 | 新增行数 | 文件数 | 新增文件数 |
---|---|---|---|---|
1 | 226 | 226 | 45 | 45 |
2 | 377 | 377 | 7 | 7 |
3 | 712 | 281 | 42 | 9 |
4 | 166 | 166 | 2 | 2 |
5 | 253 | 253 | 4 | 4 |
6 | 484 | 484 | 9 | 9 |
7 | 269 | 269 | 1 | 1 |
8 | 301 | 32 | 5 | 4 |
9 | 447 | 447 | 7 | 7 |
10 | 401 | 26 | 9 | 0 |
11 | 1262 | 1262 | 18 | 18 |
12 | 965 | 965 | 12 | 12 |
将Student对象(属性:int id, String name,int age,double grade)写入文件student.data、从文件读出显示。
1个字符大小1个字节,中文字符大小2个字节,回车换行2个字节,总共48字节。
close()方法会自动调用flush()方法将缓冲区数据写入文件,不close,数据留在缓冲区没有写入文件,文件大小为0。
使用BufferedReader
读取数据的速度更快,BufferedReader
是先把数据读到缓存区然后在写到主存里,Scanner
是直接把数据写入主存
速度明显提升,因为BufferedWriter有使用缓存区
有乱码:
Java默认编码模式为GBK
,读入UTF-8
编码的文件时中文会产生乱码
使用FileInputStream
指定编码格式为UTF-8
解决:
void convertGBK2UTF8(String src, String dst)
{
BufferedReader br = null;
try{
FileInputStream fis = new FileInputStream(src);
InputStreamReader isr = new InputStreamReader (fis,"UTF-8");
br = new BufferedReader(isr);
String line = null;
PrintWriter printWriter = null;
printWriter = new PrintWriter(dst);
while((line = br.readLine())!=null){
printWriter.print(line);
}
printWriter.close();
}finally{
if(br!= null){
br.close();
}
}
}
编写public static List
编写一个程序,可以根据指定目录和文件名,搜索该目录及子目录下的所有文件,如果没有找到指定文件名,则显示无匹配,否则将所有找到的文件名与文件夹名显示出来。
图形界面:
201621123063《java程序设计》第十二周实验报告
标签:就是 时间 2.3 serial 取数 9.png filename new 3.1
原文地址:http://www.cnblogs.com/Yelz/p/7985187.html