其他流的使用

  

输入输出流

数据流:

/*数据流DataInputStream和DataOutputStream作用:用于基本数据类型遍历或字符串的读取和写入*/@Testpublic void test1() throws IOException {
//        写入操作DataOutputStream dos = new DataOutputStream(new FileOutputStream("data.txt"));dos.writeUTF("张麻子");dos.flush();dos.writeInt(40);dos.flush();dos.writeBoolean(true);dos.flush();dos.close();
//        得到的data.txt文件无法直接读取}@Test//      将文件中的变量读入到到内存中public void test2() throws IOException {DataInputStream dis = new DataInputStream(new FileInputStream("data.txt"));//      读取顺序要与写入文件时的顺序一致String name = dis.readUTF();int age = dis.readInt();boolean b = dis.readBoolean();System.out.println(name+age+b);dis.close();}

对象流:

 序列化:写入文件中

反序列化:从文件在写入内存中

 

  

package ObjectInputOutputStream;import org.junit.Test;import java.io.*;public class ObjectStreamTest {/*将内存中的java对象保存到磁盘中或通过网络传输出去使用ObjectOutputStream实现*/@Testpublic void test() throws IOException {ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("ObjectStream.txt"));oos.writeObject(new String("我爱中国!"));oos.flush();oos.close();}/*反序列化:将磁盘文件(网络)中的对象还原为内存中的对象使用ObjectInputStream*/@Testpublic void test2() throws IOException, ClassNotFoundException {ObjectInputStream ois = new ObjectInputStream(new FileInputStream("ObjectStream.txt"));Object obj = ois.readObject();System.out.println(obj);ois.close();}
}

类的序列化有一定的要求:必须实现以下两个接口之一

 

static,transient的变量无法序列化 

 

若没有手动加serialVersionUID ,在修改对象后,JVM的UID会相应的改变导致无法反序列化 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/418091.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NDK环境配置

Android Studio 配置 (不是SDK,麻烦各位看官看清楚) 手动配置 步骤一:下载sdk 下载方式有两种 一官方下载(请***) https://developer.android.com/ndk/index.html 二在studio中下载(如下载慢”拿梯子FQ”) 选择NDK和…

Class类的理解

package JavaReflcet;import org.junit.Test;public class ClassTest {/*获取Class的实例的方式*/Testpublic void test1() throws ClassNotFoundException { // 方式一:调用运行时类的属性: .classClass clazz person.class;System.out.println(clazz);// …

面向对象概述(课堂笔记)

例如: //创建一个Scanner(扫描器)类型的工具实例(对象),用于获取用户从键盘输入的数据 Scanner scannew Scanner(System.in); //创建一个Random(随机)类型的工具实例(对象),用来生成随机数 Rand…

关于__str__的介绍

在python语言里,__str__一般是格式是这样的。class A: def __str__(self): return "this is in str"事实上,__str__是被print函数调用的,一般都是return一个什么东西。这个东西应该是以字符串的形式表现的。如果不是要用…

BLOB数据类型、事务

Blob数据类型: 事务:

资源整理

资源整理 学习网站 学堂在线 链接:http://www.xuetangx.com/简介 学堂在线是免费公开的MOOC(大规模开放在线课程)平台,是国家教育部MOOC研究中心官方合作平台,致力于通过来自国内外一流名校开设的免费网络学习课程 EDX…

[工具] 知网(CNKI)文献下载工具

https://github.com/amyhaber/cnki-downloader 用于免费搜索,下载CNKI上的各类文献资料 转载于:https://www.cnblogs.com/Areas/p/5887671.html

Web中Servlet

一&#xff1a; web.xml中的代码如下 <web-app><display-name>Archetype Created Web Application</display-name><servlet><servlet-name>AddServlet</servlet-name><servlet-class>servlets.AddServlet</servlet-class>&l…

Thymeleaf视图模板的学习以及一些语法用法

流程&#xff1a;客户端向服务端的index组件发送请求&#xff0c;index组件会调用FruitDAO直至获取到数据库的数据&#xff1b;服务端获取到fruitList之后&#xff0c;存入到Session中&#xff0c;方便之后使用&#xff1b;之后调用ViewBaseServlet中的processTemplate方法&…

21 RadioGroup ListFragment

结构 MainActivity.java package com.qf.day21_radiogroupfragment_demo3;import java.util.ArrayList; import java.util.List;import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.…

XML与过滤器、事务管理

一 XML 二&#xff1a;过滤器&#xff08;Filter&#xff09; 功能&#xff1a; WebFilter("/demo01.do") public class Demo01Filter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {}Overridepublic void doF…

Mybatis获取参数值的各种情况

public interface SelectMapper {//根据ID查询用户信息User getUserById(Param("id") Integer id);//查询所有用户信息List<User> getAllUser();//查询用户信息的总记录数Integer getCount();//查询用户信息使用mapMap<String, Object> getUserByIdToMap…

Mybatis中的配置文件xml

在配置的过程中&#xff1a;我们的mapper接口要与映射的XML文件处在同一位置下&#xff08;层级相同&#xff09; 比如&#xff1a;java.mybatis.mapper.ParameterMapper 对应: resoureces.mybatis.mapper.ParameterMapper 否则在进行测试的时候会出现无效的绑定 Invalid b…

Mybatis中处理多对一的映射关系

数据库中的结构&#xff1a; 实体类&#xff1a; 最终结果&#xff1a; 一&#xff1a;级联属性查询 自定义resultMap中可以这样设置&#xff1a; <resultMap id"empAndDeptResultMapOne" type"Emp"><id property"eid" column"ei…

Mybatis中处理一对多的映射关系

一对多与多对一的区别&#xff1a; 以部门表为单位&#xff0c;一个部门会有很多员工为一对多的关系 以员工表为单位&#xff0c;会有多个员工在一个部门中为多对一的关系 一&#xff1a;collection 由于一个部门中会有多个员工&#xff0c;即一对多的关系因此我们需要的实体…