关于保存销售和利润数据的Java文件实践

时间:2013-06-02 13:07:50

标签: java file-io load file-format

我正在尝试创建一个供小店主使用的简单应用。我需要两个部分:一部分用于支付费用,另一部分用于接收。我想要的是将这些保存到一个文件中,以后可以加载到应用程序中。当我加载文件时,我希望以一种漂亮的报告样式显示数据,如表格或其他东西。我的问题是

  1. 保存文件的好格式是什么?假设所有数据都保存在单个文件中。文本或XML可以完成这项工作,但也要考虑以下问题。
  2. 保存时,如何避免将整个数据再次保存到文件中,即使只能从加载的内容中更改几行?
  3. 我知道我的问题有点笼统,但我在文件操作方面没有太多经验,我之前使用过数据库。另外,如果你问我试过和寻找的东西,我还没有尝试,但我的第一个直觉是将其保存为文本或XML格式之一,然后逐行加载它们。一些指导将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以在读取/写入文件时设置文件中的位置,这样就不必重写整个文件。例如,使用Reader#skipSuggested reading

现在,您如何确定某些给定元素的行?您需要某种元结构,它允许您查找给定元素的行。

现在你如何确定这条线的偏移量?您需要使用固定长度行,因此您可以使用简单的line*length。在这种情况下,XML将是完全矫枉过正的,您通常不会将XML填充到固定长度。你可以说“为什么我们需要固定长度的线?为什么不只是存储适用线的偏移而不是上面的线?”,但是你很快就会意识到你必须更新整个元素的其余部分。当一条线的长度发生变化时的结构。

现在所有这一切,数据库可能是更好的选择。这正是他们的目的。虽然如果您希望练习文件操作(并且不打算在“真实世界”中使用),请随意继续。