0

我想制作一个包含以下三个功能的 GUI 应用程序:

  • 添加记录
  • 编辑记录
  • 删除记录

一条记录包含两个字段 - 姓名和职业

申请有两个限制

  • 您不能使用数据库来存储信息。您必须使用平面文件。
  • 不应为每个添加/删除操作重写总文件。

所以,我的问题在下面提到:

Q1。哪种文件格式会更好?(.xml 或 .csv 或 .txt 或任何其他)

Q2。我们如何在不重写整个文件的情况下执行添加/删除操作?

4

3 回答 3

2

您的问题的第二部分在这里得到解答:Best Way to Write Bytes in the Middle of a File in Java

至于格式 - 我会尽可能简单。您不想处理一堆标记处理,因为使用 RandomAccessFile,您将直接进入一个字节位置。固定宽度的样式格式会很好,这样可以根据记录编号计算文件中记录或字段的起始位置,而无需读取文件中的所有内容。然后将使用空格或其他一些合适的字符将字段填充到固定宽度。

于 2009-12-31T08:46:10.693 回答
0

我会使用压缩的 CSV。它既可读又可在外部编辑。

如果您选择 CSV,这会有所帮助:http: //javacsv.sourceforge.net/

你看过这个吗?http://sourceforge.net/projects/flatworm/ 还可以考虑 Apache Derbi 和 HSQLDB

另一个解决方案是这个http://www.coyotegulch.com/products/jisp/index.html

您可以重新发明轮子,但只有在这是一项学术任务时才需要这样做......

于 2009-12-31T08:45:42.550 回答
0

鉴于不得重写整个文件,我建议使用RandomAccessFile允许您仅读取和写入所需的记录。

对于文件格式,二进制文件,使用固定长度的记录:例如:姓名为 20 个字符,职业为 30 个字符。这将允许您使用 RandomAccessFile 的 seek() 方法直接访问您的数据。

于 2009-12-31T08:45:54.733 回答