java – 保存项目数据.你会怎么做?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 保存项目数据.你会怎么做?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1853字,纯文字阅读大概需要3分钟。
内容图文
![java – 保存项目数据.你会怎么做?](/upload/InfoBanner/zyjiaocheng/826/7ca2ada11e084d45bfa3dc276348af06.jpg)
我正在开发一个大规模的GUI程序,我有很多需要在命令上本地存储的项目数据.
目前,我将所有全局数据结构保存在保存类(项目)中,然后将它们序列化为本地硬盘文件:
public void saveChanges() {
ArrayList<Student> studentList = new ArrayList<>();
ArrayList<String> coursesList = new ArrayList<>();
ArrayList<Requirement> reqList = new ArrayList<>();
ArrayList<Risk> riskList = new ArrayList<>();
for (int x = 0; x < dlm.getSize(); x++) {
studentList.add(dlm.elementAt(x));
}
for (int x = 0; x < dlm2.getSize(); x++) {
coursesList.add(dlm2.elementAt(x));
}
for (int x = 0; x < dlm3.getSize(); x++) {
reqList.add(dlm3.elementAt(x));
}
for (int x = 0; x < riskTable.getRowCount(); x++) {
riskList.add((Risk) riskMap.get(dtm1.getValueAt(x, 0)));
}
project.setStudentAL(studentList);
project.setCoursesAL(coursesList);
project.setReqAL(reqList);
project.setRiskAL(riskList);
project.setLastUpdated(new Date().toString());
}
现在我将其序列化为本地文件:
public void saveProject(boolean defaultPath, String path) {
saveChanges();
FileOutputStream outFile;
try {
if (defaultPath) {
outFile = new FileOutputStream(directory + project.getProjectName() + ".proj");
} else {
outFile = new FileOutputStream(path + ".proj");
}
ObjectOutputStream outObject = new ObjectOutputStream(outFile);
outObject.writeObject(project);
outObject.close();
} catch (IOException e) {
System.out.println("Failed to save project");
e.printStackTrace();
}
}
我的问题是:
有默认值;或者更好的方法来保存本地硬盘上的文件?我不想使用XML或任何数据库.
>提前致谢
解决方法:
对于swing应用程序,我真的很喜欢使用XML.这样做的另一个好处是可以使您保存的数据对其他应用程序有用. JAXP提供了在程序中编写和读取XML数据的方法 – 您需要做的就是编写一些代码以便持久化并重新创建您正在保存的状态.
如果您正在编写大量数据(听起来像是这样),我建议使用SAX界面将其读入您的应用程序.有一个关于做here的教程.
另一种存储数据的方法是使用数据库.使用像Apache Derby这样的东西也是一种选择.
内容总结
以上是互联网集市为您收集整理的java – 保存项目数据.你会怎么做?全部内容,希望文章能够帮你解决java – 保存项目数据.你会怎么做?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。