我想创建一个包含以下三个函数的GUI应用程序:
记录包含两个字段 - 名称和职业
应用程序有两个限制
所以,我的问题在下面提到:
Q1。哪种文件格式会更好? (.xml或.csv或.txt或任何其他)
Q2。如何在不重写整个文件的情况下执行添加/删除操作?
答案 0 :(得分:2)
您的问题的第二部分在此处得到解答:Best Way to Write Bytes in the Middle of a File in Java
至于格式 - 我会尽可能简单地使用。您不希望必须处理一堆标记处理,因为使用RandomAccessFile,您将直接转到字节位置。固定宽度样式格式是好的,因此根据记录号,您可以计算文件中记录或字段的起始位置,而无需读取文件中的所有内容。然后用空格或其他合适的字符将字段填充到固定宽度。
答案 1 :(得分:0)
我会使用CSV,压缩。它既可读又可在外部编辑。
如果您选择CSV,这可以提供帮助:http://javacsv.sourceforge.net/
你看这个吗? http://sourceforge.net/projects/flatworm/ 还要考虑Apache Derbi和HSQLDB另一种解决方案是http://www.coyotegulch.com/products/jisp/index.html
你可以重新发明轮子,但只有在这是一个学术分配时才需要......
答案 2 :(得分:0)
鉴于不能重写整个文件,我建议使用RandomAccessFile,只允许您读写所需的记录。
对于文件格式,使用固定长度的二进制文件:ex:20个字符的名称,30的专业。 这将允许您使用RandomAccessFile的seek()方法直接访问您的数据。