Java怎样用I/O流实现类如数据库的增删查减的功能

文本实现类如图书借阅管理系统的功能,不连接数据库,实现诸如下的功能
(1)读者管理(可输入、修改、查询、注销读者信息);
(2)图书管理
①添加图书
②查询图书
③修改图书
④删除图书资料
(3)图书借还
借书
①判断所借书籍号是否存在 。
②判断该借书证号是否存在 。
③判断该书籍是否已借出 。
④借书处理包括在“借还书登记”中增加该借书情况,在该图书信息中加上“已借”标记。
还书
①判断所借书是否存在 。
②判断该书是否已借出 。
③借书处理 。
读者、图书等信息必须利用文件保存,下次启动系统是能自动读取已保存的信息并完成初始化工作;

4个回答

数据库说白了也是用文件存储的,一样要I/O流读写文件,这是最基本;
大家都是存储在磁盘中,都用到文件系统。只不过数据库做了很多优化,文件格式也是自定义一套。

你的需求就是自己定义一套简单的数据存储格式,满足你的“增删查减的功能”;
java io类都在java.io包和java.nio包中,参考jdk文档。

最简单就是把相关的java对象序列化存储,取用时再反序列化。
序列化类实现接口java.io Serializable就可以了。
当然如果要快速检索,就要有索引功能,就像数据库一样。

suanmou
suanmou 回复chen_yongkai: 我就是像这样做
4 年多之前 回复
u011606457
_1_1_7_ 回复suanmou: 比如图书定义一个java类,这个类的所有对象序列化存储在一个文件(book.dat),同理读者类的对象序列化存储在另一个文件(reader.dat),依此类推。借书事件也可以单独新建个类,里面保存读者id和图书id,这样关系就联系起来了,就像数据库的主键关联;这个类的对象一样序列化存储在一个单独文件。
4 年多之前 回复
suanmou
suanmou 如何自己定义一套简单的数据存储格式??
4 年多之前 回复

可以使用xml保存,这样便于解析。xml的操作很简单,百度一下,你就知道。

这个需要你对结构化数据有一定的了解,不然你处理这些会比较麻烦的

如果你不了解数据结构,那么你只能做一些少量数据的增删改查,
io和nio都有提供标准输入输出流,可以对文件进行读写,然后操作在java内存中,
操作完成再进行写入

suanmou
suanmou 不能用对象流序列化后搭配HashMap或set类实现吗?
4 年多之前 回复
w172087242
little_how 回复suanmou: 还要建立一个管理文件,也就是简单的索引
4 年多之前 回复
w172087242
little_how 比如结构体,结构体的存放,Tree的遍历和改变,堆的结构以及排序算法,位图等索引的实现,内容很多,所以自己写,肯定只能简单的数据结构了,如xml和json,这个可以每个表进行hash存储,尽量做成小文件,这样如果没有跨文件查询的话会很快,对内存的消耗也小,
4 年多之前 回复
suanmou
suanmou 怎么结构化数据啊,这个还真不了解
4 年多之前 回复

用JDBC就好,干嘛搞那么麻烦

suanmou
suanmou jdbc做过了,这是另一实训项目,锻炼自己能力咯
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐