Java中除了二进制文件和使用文本文件外还有基于Data的数据操作,这里的Data指的是Java的基本数据类型和String。基本数据类型包括byte、int、char、long、float、double、boolean和short。

说到Java的基本数据类型必须谈到的两个类是DataInputStream和DataOutputStream。

它们提供了对Java基本数据类型的操作,但是这些方法事实上是在两个重要的接口中定义的DataInput和DataOutput,它们的功能就是把二进制的字节流转换成 Java的基本数据类型,同时还提供了从数据中使用UTF-8编码构建String的功能。

有一个重要的类RandomAccessFile实现了 DataInput和DataOutput两个接口使得他能够对文件同时进行写和读的操作。

在DataInputStream和DataOutputStream两个类中的方法都很简单,基本结构为readXXXX()和 writeXXXX()其中XXXX代表基本数据类型或者String。

在这里不多讲述,不过值得一提的是我们有必要读读java中unicode的编码规则,在API doc中有比较详细的介绍。通常我们的对象有很多都是由java的基本数据类型构成的,比如一个人的信息包括姓名,电子信箱,电话号码和性别等。其实我们可以用DataInputStream中的方法和DataOutputStream中的方法按照一定的序列把数据写入流中再按照相同的序列把他们读取出来,这就是我们自己实现的序列化,这可以用在数据传输中,比如在J2ME联网程序中使用序列化机制传输数据。

下面我们看看如何自己实现序列化,首先我们要有两个构造函数其中一个参数为空。

public Account()

{

}

public Account(String userName, String email, int age, boolean gender)

{

this。

userName = userName;

this。email = email;

this。age = age;

this。gender = gender;

}

当我们进行序列化的时候也很简单,我们只是往DataOutputStream中按照顺序写入对象的成员变量。

例如:

public void serialize(DataOutputStream dos) throws IOException

{

dos。writeUTF(userName);

dos。writeUTF(email);

dos。

writeInt(age);

dos。writeBoolean(gender);

}。

全部

java中什么是类型_什么是Java中基本数据类型?相关推荐

  1. java包装类和基本类型_你知道Java中基本类型和包装类的区别吗

    前情提要 上一篇中,通过一道常见的面试题(即:String.StringBuilder.StringBuffer的区别),引申到Java中基本类型和包装类的相关内容.在这一篇中,我们将解决上一篇中引申 ...

  2. java为什么有基本类型_你了解Java数据类型吗?

    你了解Java数据类型吗?你知道Java为什么会有数据类型吗? 你知道Java有几种数据类型吗 你知道Java每种数据类型的取值范围吗? 你了解或熟悉每种数据类型吗? 一.为什么Java会有数据类型 ...

  3. java中什么是类型_什么是Java中的“SAM类型”?

    总结的情况下,the link Jon posted它曾经出现故障,"SAM"代表"单一抽象方法"和"SAM型"是指接口,如Runnable ...

  4. python中 是什么类型_浅谈python中的变量默认是什么类型

    浅谈python中的变量默认是什么类型 1.type(变量名),输出的结果就是变量的类型: 例如 >>> type(6) 2.在Python里面变量在声明时,不需要指定变量的类型,变 ...

  5. java方法区对象类型_浅谈Java内存区域与对象创建过程

    一.java内存区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则 ...

  6. java返回object的类型_为什么标准java类的clone()返回Object而不是实际的类型

    在 java中允许指定函数返回的类型,例如下面的代码 public class Test { static class Dad { Dad me() { return this; } } static ...

  7. java引用类型和值类型_[Java教程]JavaScript中值类型和引用类型的区别

    [Java教程]JavaScript中值类型和引用类型的区别 0 2017-02-24 00:00:35 JavaScript的数据类型分为两类:原始类型和对象类型.其中,原始类型包括:数字.字符串和 ...

  8. react中使用构建缓存_通过在React中构建Tic Tac Toe来学习ReasonML

    react中使用构建缓存 3. 7. 2018: UPDATED to ReasonReact v0.4.2 3. 7. 2018:更新为ReasonReact v0.4.2 You may have ...

  9. .Net 6.0中的新增特性_.Net 6.0中的新增功能

    .Net 6.0中的新增特性_.Net 6.0中的新增功能 一..Net 6 介绍 .NET 6 作为 LTS 长期支持版本,.NET 6 将会获得 3 年的技术支持. .NET 6 是首个原生支持 ...

最新文章

  1. 软考之CPU的寻址方式
  2. Linq延迟求值现象
  3. (0093)iOS开发自己账号跑真机报错:conflicting provisioning
  4. 介绍4种HTML5 Canvas库
  5. 人工智能系列精品课学习笔记-2如何提问以获得更多更好的帮助
  6. 判别器loss为0_TensorFlow v2.0实现逻辑斯谛回归
  7. Python读取文本,输出指定中文(字符串)
  8. 『设计模式』不看就亏了的设计模式总结
  9. 大疆手持云台和华为mate20_告别手残,华为Mate30与大疆手持云台拍照真香
  10. Python 格式化字符串f-string概览(转载)
  11. 团队作业7——第二次项目冲刺(Beta版本)-第一篇
  12. qcc304x笔记之长按开关机(四)
  13. 计算机毕业设计选题推荐之nodejs+vue校园外卖订餐配送系统
  14. 梦幻西游python验证成语_python正则表达式抓取成语网站
  15. Noisy Channel Language Model Prompting for Few-Shot Text Classification
  16. Unity动态构建Mesh来绘制任意多边形(雷达图效果)
  17. 福昕阅读器给pdf创建目录方法
  18. 【无标题】2022年汽车修理工(高级)考试练习题及在线模拟考试
  19. AUTOMATE THE BORING STUFF WITH PYTHON读书笔记 - 第10章:ORGANIZING FILES
  20. 基于注意力的语义分割之PSANet、DANet、OCNet、CCNet、EMANet、SANet等

热门文章

  1. Go语言的多态(Polymorphism)
  2. ASP.NET Aries JSAPI 文档说明:AR.DataGrid、AR.Dictionary
  3. JavaScript事件冒泡
  4. 转载 linux内核 asmlinkage宏
  5. 使用SOCKET实现TCP/IP协议的通讯
  6. Google推出Web开发利器:App Engine
  7. Python-Numpy的tile函数
  8. C# Hook原理及EasyHook简易教程
  9. java项目(java project)如何导入jar包的解决方案列表
  10. DataRow 数组转化成DataTable