所以我试图将消息网络上用户的消息写入文件。我正在尝试使用良好的 java 实践和适当的文件 IO 技术来构建这个程序。
目前我的程序识别出有人发布了一条消息,接收该消息并立即将其写入文件。创建文件对象,创建写入器对象,附加消息,然后关闭文件。如果没有很多消息进入,这似乎是一个很好的做法,但如果有一个快速的对话流,这似乎很慢并且需要很多不必要的操作,因为该文件将立即再次打开。
然后我想如果我只是让文件保持打开状态并在消息到达文件时将它们写入,然后定期关闭它会怎样。这是好习惯吗?长时间打开文件?例如在一小时后或写入一定数量的数据后?
现在,我想我应该获取消息,将它们存储在“缓存”(如字符串数组)中,然后在“缓存”已满时将字符串数组保存到文件中。这是更好的做法吗?
所以我有两个问题:
1)如果您不使用该文件,那么长时间(几分钟到几小时)打开文件是一种好习惯吗?
2)像我说的“缓存”有什么好的做法?字符串数组好吗?我应该使用更好的东西吗?您将如何存储这些信息?