有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在文本文件中外部维护数据库

维护基于txt的数据库文件的最简单方法是什么?该文件允许程序在执行期间写入新条目或编辑现有条目

具体来说,该程序必须能够在登录时存储客户端、ip和端口,并在客户端注销时相应地删除,而无需使用LinkedList等“内部”方法

编辑:首先感谢你的建议,但是我忘了提到文件中有一个限制,文件必须在。txt格式

确切的格式是

User Name IP Address Port Number

Alice 122.33.44.23 1045

Bob 121.23.12.34 1078

哪一个不同的字段必须用


共 (3) 个答案

  1. # 1 楼答案

    最简单的方法是在某种数据库中维护它。您还没有指定文件格式的要求,但最明显的选择是CSV文本格式

    H2数据库尤其支持CSV tables

  2. # 2 楼答案

    您可以使用JDBC-ODBC桥驱动程序并链接到基于文本的ODBC连接

    之后,您可以使用JDBC选择、插入、更新或删除文件中的条目

    但是,即使这样做会奏效,我还是建议您使用HSQLSQLite或任何其他轻量级数据库。它将更快、更可靠

    祝你好运

  3. # 3 楼答案

    正如其他几张海报所建议的那样,安装一个数据库将为您购买某些东西,比如交易安全性和扩展存储内容的可能性(目前,您只需要IP/端口,但可能以后您会存储更多东西,可能更永久?)

    然而,如果您的需求仍然像您所说的那样简单,那么我将有争议地建议,使用SQL数据库并不是最简单的解决方案(尽管,正如我所说,对于某些需求,数据库确实为您购买了某些东西)

    一个非常简单的解决方案是,只要有一个目录,每次客户端登录时,您都会在其中创建一个文件,该文件的名称编码了您想要的信息(或标识信息的散列,并在文件中存储额外的信息)。然后,当客户端注销时,删除该文件。你需要注意的问题包括,当你的应用程序异常退出时会发生什么,如果你有超过,比如说,几千个客户端,会在多个目录中拆分(如果一个目录中有太多文件,Windows尤其会变得死气沉沉,尽管原则上你应该能够存储尽可能多的文件),管理文件系统“问题”(病毒检查器正在访问文件,而您需要删除…)

    这个简单的解决方案实际上并不像听起来那么糟糕:归档系统实际上是为了高效地访问和索引内容而设计的,就像数据库一样