不用数据库保存数据?如何实现

happyharold 2013-10-05 11:18:27
老师想让我们做一个上课时候的随机点名系统。。
可以用数据库保存每次的记录。。
我在想,可以不用数据库么?不用服务器,我的软件不用联网,直接本地记录。。
那我每次点名的记录怎么保存呢?
求解?
...全文
2419 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
树成 2013-10-14
  • 打赏
  • 举报
回复 1
干吗那么排斥数据库,有数据库不是很好? 如果不想依赖服务器来运行,可以使用文件行数据库,sqlite或者原始一点的access都可以。
小绵羊 2013-10-14
  • 打赏
  • 举报
回复
序列化,反序列化也不错啊
niuniu20008 2013-10-14
  • 打赏
  • 举报
回复
我上面是最简单的考虑,11楼的思路也可以考虑一下。另外点名信息里不应该只存到或者不到吧,应该还有:不到-病假,不到-事假。所以我倾向于 学号=0 学号=1 学号=2 至于0、1、2这些枚举值,是怎么定义的,那就再建个propertie文件 config/defaultSystem.properties 0=到 1=病假 2=事假 3=谈恋爱 4=牛逼飞天了
niuniu20008 2013-10-14
  • 打赏
  • 举报
回复
前提:如果不用数据库,本来是数据库保存数据的,就得用相应的文件代替 1)学生信息表---->student_班级名称.xml 比如叫student_1304.xml,楼主需要学生xml的格式,读取和写入xml,使用dom4j

<root>
  <classInfo>
      <studentInfo>
         <name>Tom</name>
         <age>21</age>
      </studentInfo>
     <studentInfo>
         <name>Tom</name>
         <age>21</age>
      </studentInfo>
      <studentInfo>
         <name>Tom</name>
         <age>21</age>
      </studentInfo>
  </classInfo>
</root>
如不用xml,最简单的是使用txt文本文件 student_1304.txt,txt中一行代表一名学生信息 #序号,学号,班级,姓名,性别,联系电话 0001,1304001,1304,Tom,male,1373430000 0002,1304002,1304,Lucy,female,1374444 使用IO,读取这个txt。 无论哪种方式,读取的信息可以保存List或者Map中,这个List或者Map保存在内存中(就是建个static属性,把这个List或者Map赋值给它),就可以直接使用。 2)点名信息 建个文件夹roll-call,然后在这个文件夹中 roall-call-student-1304-20131014.properties 每天都生成roall-call-student-1304的一个文件。 文件里保存 学号=0 学号=1 或者学号=true 学号=false 自己使用Properties类写个工具类,从文件中读取
harrisonkao 2013-10-14
  • 打赏
  • 举报
回复
建议用txt将所有的学生以学号=姓名的形势存储,每次点名随机出几个学号,用properties读取姓名,在建立个文件名为当天日期的txt文件,以姓名=true/false的形势存储,月底的时候再读取所有的文件。
快乐的2 2013-10-14
  • 打赏
  • 举报
回复
引用 24 楼 spiniper 的回复:
干吗那么排斥数据库,有数据库不是很好? 如果不想依赖服务器来运行,可以使用文件行数据库,sqlite或者原始一点的access都可以。
对直接用access就行.别再造马车了.
笑莫问 2013-10-14
  • 打赏
  • 举报
回复
IO读写 ,保存在文件中
tony4geek 2013-10-11
  • 打赏
  • 举报
回复
写到json xml 。等等。
-阿克蒙德- 2013-10-11
  • 打赏
  • 举报
回复
用文件代替数据库 txt也好,xml也好都是这种方式,其实数据库本身也就是一堆文件的集合 相对来说properties文件应该会更简单些吧 从网上找找java读写文件、读写xml的资料研究下就成
JPF1024 2013-10-10
  • 打赏
  • 举报
回复
xml json txt 都可以,目前Json也很不错,去试试。
huntor 2013-10-10
  • 打赏
  • 举报
回复
可以使用csv,java有不少操纵csv的库。
逍遥jc 2013-10-09
  • 打赏
  • 举报
回复
用properties文件或者TXT都可行吧。不过还是觉得 properties文件比较好些。
RAY_MAO 2013-10-08
  • 打赏
  • 举报
回复
各种文件数据库的比较 Sqlite:老牌的文件数据库,完全免费 ( public domain ),使用方便,无须任何配置,下载源代码编译成库或者直接编译到应用程序都可以(250K,C代码)。支持事务机制和blob数据类型。 Berkeley DB:更老牌的文件数据库,最稳定的数据库,完全可以取代大部分传统client/server数据库的应用场合;支持xml(代价是30M硬盘空间)。缺点是配置和使用比较复杂,不太适合小项目。 Firebird:与sqlite比较类似,有C#支持。某些发布版本不能build, 很久没有关注了。 Access:一般不考虑。 xml数据库文件。 dat、txt等文本文件。 格式化文本。 各种音频、视频文件等。 ======================= sqlite json xml 都可以
ZZZ5512536 2013-10-08
  • 打赏
  • 举报
回复
用xml或txt文件保存呗。IO流
LCore 2013-10-06
  • 打赏
  • 举报
回复
引用 7 楼 wensheng2013 的回复:
[quote=引用 4 楼 kiritor 的回复:] [quote=引用 3 楼 wensheng2013 的回复:] [quote=引用 1 楼 udbwcso 的回复:] 保存在文件里
引用 2 楼 crazypandariy 的回复:
xml文件,txt文件等等等等。只要定好格式就可以了
可不可以详细点讲呀,,,我们班有99个人,貌似有点多啊[/quote] 可以使用java properties文件,以键值对的形式存放数据 键可以是学生的名字,值可以是0/1(代表是否来上课) 签到的时候也就是根据具体键,修改具体值 so,怎么用楼主自行www.google.ca[/quote] 百度看了一下了,每次点名之后就关闭软件,第二次打开软件,数据还可以在吗?[/quote] 文件中的数据,只要你保存了自然还在嘛。 java properties文件就可以解决了,值先设定好全为1(所有人都到) 点到谁,没到改为0,到了不修改。关闭时重新全部设为1 不过楼主应该发现了,这样根本没法记录考勤记录(谁谁谁哪天缺勤不知道) 虽然用java properties文件、xml等文件还是可以解决 不过你还是考虑用数据库记录吧,也许老师就是本意就是让你们了解java操作数据库呢
happyharold 2013-10-06
  • 打赏
  • 举报
回复
确实不是很熟悉呀。。有没有教的详细一点的呀。。。接着百度去。。
无二不做 2013-10-06
  • 打赏
  • 举报
回复
貌似lz对数据存储还不是很熟悉
huntor 2013-10-06
  • 打赏
  • 举报
回复
保存了数据,下次才能看到
happyharold 2013-10-06
  • 打赏
  • 举报
回复
引用 4 楼 kiritor 的回复:
[quote=引用 3 楼 wensheng2013 的回复:] [quote=引用 1 楼 udbwcso 的回复:] 保存在文件里
引用 2 楼 crazypandariy 的回复:
xml文件,txt文件等等等等。只要定好格式就可以了
可不可以详细点讲呀,,,我们班有99个人,貌似有点多啊[/quote] 可以使用java properties文件,以键值对的形式存放数据 键可以是学生的名字,值可以是0/1(代表是否来上课) 签到的时候也就是根据具体键,修改具体值 so,怎么用楼主自行www.google.ca[/quote] 百度看了一下了,每次点名之后就关闭软件,第二次打开软件,数据还可以在吗?
你个神经病 2013-10-06
  • 打赏
  • 举报
回复
xml就行,就第三方解析jar包。自己定义好格式。就可以。
加载更多回复(9)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧