实现数据进行文件的存储和读写。

本软件也就到此结束了。

没多少可以讲的。

因为这个小软件也就8个类,主要学习的也就是一个分层思想的简单应用。

package cn.hncu.addr.dao;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList; public class AddrDaoFile {
static final String FILE_NAME = "chx.data"; public static Object[] read() {
ArrayList<Object> list = new ArrayList<Object>();
ObjectInputStream in = null;
try {
in = new ObjectInputStream(new FileInputStream(FILE_NAME)); Object obj;
//**对象流的读不能用available()<=0来判断读完数据,而应该用异常来确定是否读到结束
while(true){
obj = in.readObject();
list.add(obj);
}
} catch (Exception e) {
//读到文件末尾,就是出异常,通过这来判断是否读到结束
//因此,本程序中,这里是正常的文件读取结束,不是我们之前认为的出异常--所以不输出异常信息
//e.printStackTrace();
}finally{
try {
if(in!=null){
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
Object objs[] =list.toArray();
if(objs==null){
objs = new Object[0];
}
return objs;
} public static boolean write(Object[] objs) {
ObjectOutputStream out = null;
try {
out = new ObjectOutputStream(new FileOutputStream(FILE_NAME));
for(Object obj:objs){
out.writeObject(obj);
}
} catch (Exception e) {
e.printStackTrace();
return false;
}finally{
if(out!=null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
} }
return true;
} }

【8】JAVA---地址App小软件(AddrDaoFile .class)(数据层)的更多相关文章

  1. Java---设计模式app小软件汇总应用

    写了一个app小软件,重点不在于软件,软件bug挺多,也没去修改. 这个小软件只是为了更好的说明和了解设计模块而做的. Java 程序设计–包结构 Java程序设计的系统体系结构很大一部分都体现在包结 ...

  2. 【1】JAVA---地址App小软件(AddressApp.class)(初步接触项目开发的分层思想)(表现层)

    这个是表现层的main方法. 实现的地址信息有: 姓名,性别,年龄,电话,地址. 实现的功能有: 增加地址: 删除地址: 修改地址: 查找地址:其中年龄的查找为年龄段的查找. 数据存储的方式为文件存储 ...

  3. 【6】JAVA---地址App小软件(QueryPanel.class)(表现层)

    查找模块: 年龄可进行段查找. 其他的都是模糊匹配. 空格为无用字符,会屏蔽的(除年龄). (如果在年龄中输入空格,会出现异常,当时没想到这点,要防护这点很容易的,但因为在这个小软件的编写过程,我主要 ...

  4. 【5】JAVA---地址App小软件(DeletePanel.class)(表现层)

    删除地址的表现层类. 如果没有选中要删除的地址信息,会出现窗口提示: 删除地址界面:(无法修改数据,只能看) /* * DeletePanel.java * */ package cn.hncu.ad ...

  5. 【4】JAVA---地址App小软件(UpdatePanel.class)(表现层)

    修改地址信息的一个表现层类. 必须选中地址,才能修改,否则会弹出窗口提示, 修改地址界面: /* * UpdatePanel.java * */ package cn.hncu.addr.ui; im ...

  6. 【3】JAVA---地址App小软件(AddPanel.class)(表现层)

    添加地址信息界面. 年龄和地址必须是数字,否则会弹出窗口提示. 地址信息不能为空. /* * AddPanel.java * * Created on __DATE__, __TIME__ */ pa ...

  7. 【2】JAVA---地址App小软件(ListPanel.class)(表现层)

    这个是表现层的主界面. /* * ListPanel.java * */ package cn.hncu.addr.ui; import javax.swing.JFrame; import java ...

  8. 【7】JAVA---地址App小软件(AddrBusiness.class)(逻辑层)

    这个...没多少好解释的... 表现层的增删改查的具体实现类. package cn.hncu.addr.business; import javax.swing.JOptionPane; impor ...

  9. Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发

    一.标准CRUD使用 对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢? 我们先来看张图: 1.1 环境准备 这里用的环境就是Java开发学习(四十)----MyBa ...

随机推荐

  1. Linux控制台下的快捷键

    Linux控制台(文本模式)下提高工作效率的快捷键 在Linux环境里,有一些按键有特殊的含意.# Ctrl-U: 擦除一行光标前面的部分.# Ctrl-H: 擦除光标前面的一个字符.# Ctrl-D ...

  2. session过期后自动跳转到登陆页

    项目需要做一个自动登出的功能,查询了网上的资料,一开始准备用session监听做,按照下面方式配置监听器 1.在项目的web.xml文件中添加如下代码: <!--添加Session监听器--&g ...

  3. linux常见设备类型及文件系统

    As you can see in  Table   14.3   , all disk device names end with the letter a. That is because it ...

  4. ssanf()的用法

    转载自http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html 看着写着不错,就转了,保存一下 C语言函数sscanf()的用法 ss ...

  5. javascript小数四舍五入

    javascript小数四舍五入 1. function get(){    var s = 22.127456 + "";    var str = s.substring(0, ...

  6. HBuilder开发app ajax跨域 解决XMLHttpRequest

    <div id="a1" onclick="testXHR()" style="font-size: 5em;">sss1< ...

  7. 精通Django或Rails框架

    Django是一个开放源代码的Web应用框架,由Python写成. Rubyon Rails 是一个用于开发数据库驱动的网络应用程序的完整框架.

  8. elasticsearch中的概念简述

    Near Realtime(NRT) Elasticsearch接近实时.从为一个文档建立索引到可被搜索,正常情况下有1秒延迟. Cluster 一个集群有一个唯一的名字,默认是"elast ...

  9. GIt/Github常用命令

    1)git init:初始化本地仓库 2)创建文件:touch read.txt 3)当操作本地的文件时,使用常用的命令,如(mv,ls..)就可以操作,当操作暂存区的文件时需要在命令前家git,并且 ...

  10. [译]一个灵活的 Trello 敏捷工作流

    [译]一个灵活的 Trello 敏捷工作流 翻译自 An Agile Trello Workflow That Keeps Tasks Flexible Getting things done 可不只 ...