`

(三) 读写二进制数据

 
阅读更多

 

DataOutput接口定义了用于二进制格式写数组、字符、boolean值和字符串的方法。writeChars,writeByte,writeInt,writeShort,writeLong,writeFloat,writeDouble,writeChar,writeBoolean,writeUTF。

注意:

(1)writeInt总是将一个整数写出为4字节的二进制数量值,而不管它有多少位,writeDouble总是将一个double值写出为8字节的二进制数量值,这样产生的结果不可读,但是对于给定类型的每个值,所需空间相同,读回也比解析文本要快。

(2)writeUTF方法使用修订版的8位Unicode转换格式写出字符串,与直接使用标准的UTF-8编码方式不同,因为没有其他方法会使用修订本的UTF-8,所以只在写出用于Java虚拟机的字符串时才使用writeUTF方法。其他的目的都应该使用writeChars方法。

 

读回数据时使用DataInput接口,readInt,readShort,readLong,readFloat,readDouble,readChar,readBoolean,readUTF

DataOutputStream和DataInputStream类分别实现了DataOut和DataInput接口,通过与字节源组合使用。

e.g.DataInputStream与FileInputStream组合

 

    DataOutputStream out = new DataOutputStream(new FileOutputStream("text.txt"));
    DataInputStream in = new DataInputStream(new FileInputStream("text.txt"));
     

随机方法文件RandomAccessFile

RandomAccessFile类可以在文件中的任何位置查找或写入数据。磁盘文件都是随机访问的,但是网络来的数据流不是。

(1)通过使用字符串"r"(用于读入访问)或"rw"(用于读入/写出访问)作为构造第二个参数来指定这个选项。

 

    RandomAccessFile in = new RandomAccessFile("test.txt", "r");
    RandomAccessFile inOut = new RandomAccessFile("test.txt", "rw");
 

(2)随机访问文件有一个表示下一个将被读入或写出的字节所处位置的文件指针。

seek方法可以将这个文件指针设置到文件内部的任意字节位置,seek的参数是一个long类型的整数,它的值位于0到文件按照字节来度量的长度之间。

(3)getFilePointer方法将返回文件指针的当前位置。

(4)RandomAccessFile类同时实现了DataInput和DataOutput接口,所以可以使用readInt/writeInt之类的方法。

分享到:
评论

相关推荐

    c#读写二进制数据到数据库

    ### C#读写二进制数据到数据库 在软件开发过程中,经常需要处理文件的存储问题,特别是将文件作为二进制数据存储到数据库中。本文将详细介绍如何使用C#语言实现这一功能,并提供具体的代码示例。 #### 将文件保存...

    linux c 读写二进制文件

    main2.cpp 生成1个二进制文件。 main3.c 读取二进制文件。 用fgets可以读取指定长度的字符串。 可用于读取格式化固定位址的二进制结构数据。

    结构体序列化读写二进制文件类

    以下是对"结构体序列化读写二进制文件类"这一主题的详细解释。 首先,结构体(Struct)是C/C++编程语言中的一个基本概念,它允许我们组合多种数据类型(如整型、浮点型、字符型等)来创建自定义的数据结构。结构体...

    通过二进制数据流的方式,读写图片,把图片存入数据库

    本主题主要探讨如何利用二进制数据流来读取、写入图片,并将其安全地存入数据库,以及如何从数据库中读取并显示这些图片。 一、二进制数据流的理解 二进制数据流(Binary Data Stream)是一种处理原始二进制数据的...

    C++,java读写二进制文件方法介绍.pdf

    C++,java读写二进制文件方法介绍.pdf java从第九页开始

    Access数据库里二进制数据读取,并显示为图片.rar

    本主题聚焦于Access数据库中如何处理二进制大数据(Blob,Binary Large Object),特别是如何从数据库中读取这些二进制数据并将其显示为图片。 Access数据库中的二进制数据通常存储在“OLE对象”或“附件”字段中,...

    一种C#读写二进制文件的通用方法-转

    C# 二进制文件读写通用方法 在日常的工作中,我们经常需要进行一些二进制文件或协议...本文介绍了一种在 C# 中实现快速读写二进制文件通用的方法,使用 C# 语言定义数据结构和读取数据,可以实现快速读写二进制文件。

    C++,java读写二进制文件方法介绍.docx

    "C++,java读写二进制文件方法介绍" 以下是从给定的文件中生成的知识点: C++读写二进制文件 * 在C++中,读写二进制文件需要包含 `<fstream>` 头文件。 * 使用 `fstream` 类可以对文件进行读写操作。 * 打开文件有...

    ADO读写二进制

    本文将详细讲解如何使用ADO来读写二进制数据,特别是二进制图片。 在数据库中,二进制数据通常用于存储图像、音频、视频等非文本格式的信息。对于图片,ADO提供了一种便捷的方式进行处理。首先,我们需要了解ADO中...

    C语言fseek、fread、fwrite读写二进制文件

    在C语言中,读写二进制文件是通过标准库函数`fopen`, `fread`, `fwrite`, 和 `fseek`等实现的。这些函数是C语言I/O操作的核心,对于处理二进制数据(如图像、音频、程序代码等)尤其重要。下面将详细解释这些函数...

    读写二进制文件

    在计算机科学中,二进制文件(Binary File)是一种存储数据的特殊文件,其中的数据以机器可理解的二进制格式编码。与文本文件不同,二进制文件不依赖特定字符编码,而是直接包含原始数据,如图像、音频、视频、程序...

    fortran读写二进制

    让FORTRAN也能随机读写二进制文件任意字节数

    Binary Viewer二进制文件读取软件

    在计算机科学领域,二进制文件是指由机器可以直接理解和执行的数据格式,它们不包含任何人类可读的文本信息。这些文件通常包括音频、视频、图像、程序和系统文件等。由于二进制文件的特殊性,普通的文本编辑器无法...

    一个用Labview编写的读写二维数组二进制文件rar

    在Labview中,读写二进制文件涉及到对数据类型、字节顺序和文件指针的精确控制。 1. **二进制文件写入**: - 在Labview中,你可以使用“写入文件”函数来创建或更新二进制文件。对于二维数组,你需要先将数组拆分...

    winform中读写二进制图片

    读写二进制文件的关键在于正确解析和构建这些字节流。 二、读取二进制图片 1. 使用FileStream打开文件:首先,我们需要创建一个`FileStream`对象,指定要读取的图像文件路径,并设置适当的访问模式(如`FileMode....

    VB.net 二进制文件的读写源代码

    在.NET框架中,VB.NET(Visual ...通过以上知识点,您可以使用VB.NET有效地读写二进制文件。在实际项目中,您可能需要根据具体需求对这些基础操作进行封装,以便创建更高级的功能,如读写自定义数据结构或序列化对象。

    VBS的函数集-读写二进制文件,UTF8文件,HTTP GET和POST

    VBS函数集-读写二进制文件、UTF8文件、HTTP GET和POST 本资源是一个VBS函数集,提供了一系列功能强大且实用的函数,涉及到二进制文件读写、UTF-8文件读写、HTTP GET请求、HTTP POST请求、Base64编码解码等功能。...

    读取写入二进制数据

    二进制数据的读写还可以涉及更复杂的数据结构,如数组、结构体等。在Python中,可以使用`struct`模块来处理这类情况。`struct`模块提供了打包和解包功能,允许我们按照特定格式处理字节数据。例如,如果我们有一个...

    java 二进制文件的读写操作

    ### Java 二进制文件的读写操作 在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类...

    C#打开二进制图片文件 读写并追加数据

    例如,FileStream类用于处理文件的读写,BinaryReader和BinaryWriter类则用于读写二进制数据。 1. **打开二进制图片文件**: 使用FileStream的构造函数,传入图片文件的路径和FileMode枚举值,如FileMode.Open,来...

Global site tag (gtag.js) - Google Analytics