本地文档存储信息

这里用来存储肯定是要用IO流,InputStream,OutputStream;

创建一个文档用来储存信息,

我们来存储一个Class类来示例;

这里我就先用这个文档来代替:D:\123\1\11\001.txt,

这里要注意一点就是这个\在 " "里面记得用两次,第一次是转意符,如果用正斜杠/就可以只用一次~

新建一个File类

File file = new File(“D:\123\1\11\001.txt”);

写入本地(序列化)

FileOutputStream fos = null;

ObjectOutputStream oos = null;

try {

fos = new FileOutputStream(file);

oos = new ObjectOutputStream(fos);

//这里的定义fos要在Try外面创建,方便在Finally里面释放,IO记得要释放,容易忘记,而分配空间则需要在try内捕捉异常,

oos.writeObject(“”);

//write括号内写入你要存储的信息

oos.flush();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

if (oos != null) {

try {

oos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if (fos != null) {

try {

fos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

存储的信息

当我们吧一个Class类存入本地时,文档内存的是一个二进制编码文件,我们看到的是一堆看不懂的乱码!

取出信息到JAVA中(反序列化)

FileInputStream fis = null;

ObjectInputStream ois = null;

try {

fis = new FileInputStream(file);

ois = new ObjectInputStream(fis);

Object obj = ois.readObject();

if (obj instanceof User) {

this.user = (User) obj;

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

} finally {

if (ois != null) {

try {

ois.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

if (fis != null) {

try {

fis.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

当然在获取的时候我们有时候想让文件有初始化的内容。比如像弄一个默认的登录账号时,我们可以在上面的代码中添加一些信息,

IOException 是我们在获取文件信息中,而文件没有信息的异常

我们可以这样初始化

在上面的代码添加一个

Catch(IOException e){

System.out.println("用户名不存在,创建管理员用户");

this.user = new User();

this.user.setUserName("admin");

this.user.setPassWord("admin");

setUserToLocal();//这个方法是上面那个写入本地的代码,我们将它写成一个方法方便调用

};

总结

我们在存储和取出信息时主要用的是IO流,记得在存和取的时候,信息要一致,比如你存的是String 类型数据时,取出的类型也要是String。

存 inputStream;

取 outputStream;

java本地储存set_没有数据库的情况下,JAVA如何在本地保存信息相关推荐

  1. pl/sql配置连接远程数据库oracle,本地没有安装oracle数据库的情况下

    首先下载instantclient 可以到oracle官网下载,要注册账号,一定要下对应版本的,要不然不成功, 10G,11G版的,我已经传上来了,免费下载:正在上传中,稍等 配置文件tnsnames ...

  2. java 定义变量时 赋值与不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  3. java 基本类型 不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  4. 不停应用重启oracle数据库,此类情况下解决Oracle数据库重启的四种方案

    原题:Oracle数据库重启(内存参数numperm_global相关) 故障描述 Oracle数据库发生重启. 系统环境 AIX 6100-07-05-1228 Oracle 11g 故障分析 首先 ...

  5. mysql锁表查询_Mysql数据库锁情况下开启备份导致数据库无法访问处理分享

    [背景简介] MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),因为其速度.可靠性和适应性而备受关注.大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择.mysql ...

  6. java6打印机不能用_高分求解:java中调用的打印机在什么情况下不可用?

    java文档中说PrinterJob类中的getPrinterJob()方法无论返回的打印机是否可用都不会返回一个null值.我查阅过一些文献有介绍说可以用getPrintService()方法测试返 ...

  7. mysql数据库什么情况下会锁表_mysql数据库锁的产生原因及解决办法

    数据库和操作系统一样,是一个多用户使用的共享资源.当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性 ...

  8. oracle数据库什么情况下创建索引比较好

    索引就好象一本字典的目录.凭借字典的目录,我们可以非常迅速的找到我们所需要的条目.数据库也是如此.凭借Oracle数据库的索引,相关语句可以迅速的定位记录的位置,而不必去定位整个表. 虽 然说,在表中 ...

  9. java流处理为什么快_“任何情况下,都不可以堕胎”是道德普遍主义的观点。

    [判断题]两个可能性之间可以彼此独立. [多选题]全球化正改变着我们的工作方式和生活方式,原因是我们首先必须处理( )和( )这两个问题. [判断题]"只许州官放火"体现了双重标准 ...

  10. linux java 工具_Linux运维知识之linux下java版本管理工具jenv使用介绍

    本文主要向大家介绍了Linux运维知识之linux下java版本管理工具jenv使用介绍,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 不同的项目使用的java版本不同,每次切 ...

最新文章

  1. YOLOv4中的tricks概念总结——Bag of freebies
  2. android - Animation详解
  3. 如何优雅的实现pandas DataFrame 和spark dataFrame 相互转换
  4. 企业的网站遭受木马攻击了,导致网站目录下所有文件都被篡改了
  5. 社区团购平台得推社区团购系统 v3.1源码
  6. 求php加密函数结果是超短的,寻求一种可逆加密算法,加密数据库自增主键,要求密文越短越好。...
  7. 戴尔SC5020发布,专为提高效率/经济性优化设计的中端存储利器
  8. 封装kmalloc/malloc的一些小函数
  9. 30分钟!用Django做一个迷你的Todolist!下篇!
  10. 配置ouster雷达过程
  11. 0ctf – mobile – boomshakalaka writeup
  12. 删除launchpad中无法正常移除的图标
  13. 杜甫ndows 10怎么安排五笔,燕字五笔怎么打|燕子|杜甫|出处_诗词_综合试卷网_中国教育考试门户网站...
  14. LMS学习管理系统综述
  15. 掌控堆栈确保系统稳定 IAR技术手册翻译
  16. 使用element-ui实现表格分页
  17. 存储和虚拟化服务器的对接,储存虚拟化
  18. 实验二 CPU 部件实现之 ALU 和寄存器堆
  19. 洛谷P4961 小埋与扫雷
  20. python——print打印丘比特之心

热门文章

  1. Echarts的使用方法
  2. .NET框架源码解读之SSCLI编译过程简介
  3. (记录)操作多层Iframe嵌套内的元素
  4. SceneCAD: Predicting Object Alignmentsand Layouts in RGB-D Scans
  5. Python游戏开发入门3 Pygame屏幕绘制机制
  6. 190314每日一句
  7. 决策树算法与应用 学习笔记
  8. Atitti cto的日常流程与职责attilax总结
  9. atitit.jndi的架构与原理以及资源配置and单元测试实践
  10. paip.gui控件form窗体的原理实现以及easyui的新建以及编辑实现