文档

从文件中读

从二进制文件读取数据

描述

例子

一个=从文件中读(文件标识从打开的二进制文件读取数据到列向量一个并将文件指针定位在文件结束标记处。二进制文件由文件标识符表示,文件标识.使用打开外部文件打开文件,获取文件标识价值。当您完成读取时,通过调用关闭文件文件关闭(文件标识)

一个=从文件中读(文件标识sizeA将文件数据读入数组,一个,有维度,sizeA,并将文件指针定位在最后一次读取的值之后。从文件中读填充一个按列顺序排列。

例子

一个=从文件中读(文件标识sizeA精度方法描述的形式和大小解释文件中的值精度.的sizeA参数是可选的。

例子

一个=从文件中读(文件标识sizeA精度跳过所指定的字节或位数跳过读取文件中的每个值之后。的sizeA参数是可选的。

例子

一个=从文件中读(文件标识sizeA精度跳过machinefmt另外,指定读取文件中的字节或位的顺序。的sizeA而且跳过参数是可选的。

一个= fread, fread___另外返回的字符数从文件中读读到一个.您可以将此语法与前面语法的任何输入参数一起使用。

例子

全部折叠

写一个九元素向量到一个样本文件,nine.bin

fileID = fopen(“nine.bin”' w ');写入文件(文件标识,[1:9]);文件关闭(文件标识);

将文件中的所有数据读入class的vector中.默认情况下,从文件中读每次读取文件1个字节,将每个字节解释为8位无符号整数(uint8),并返回a数组中。

fileID = fopen(“nine.bin”);A = fread(fileID)
一个=9×11 2 3 4 5 6 7 8 9

从文件中读返回列向量,文件中的每个字节对应一个元素。

查看相关信息一个

一个
名称大小字节类属性A 9x1 72 double

关闭文件。

文件关闭(文件标识);

创建一个名为doubledata.bin,包含9个双精度值。

fileID = fopen(“doubledata.bin”' w ');写入文件(文件标识,魔法(3),“双”);文件关闭(文件标识);

打开文件,doubledata.bin,并将文件中的数据读入一个3 × 3的数组,一个.指定源数据是类

fileID = fopen(“doubledata.bin”);A = fread(fileID,[3 3],“双”
一个=3×38 1 6 3 5 7 4 9 2

关闭文件。

文件关闭(文件标识);

阅读文件的内容,fread.m.对输出数组进行转置,一个所以它是一个行向量。

fileID = fopen(“fread.m”);A = fread(fileID,“*字符”)”;文件关闭(文件标识);

从文件中读返回字符数组,一个

创建一个名为nine.bin,取值为1 ~ 9。将数据写成uint16值。

fileID = fopen(“nine.bin”' w ');写入文件(文件标识,[1:9],“uint16”);文件关闭(文件标识);

将前6个值读入3 × 2数组。指定源数据是类uint16

fileID = fopen(“nine.bin”);A = fread(fileID,[3,2],“uint16”
一个=3×21 4 2 5 3 6

从文件中读返回一个由文件中的前六个值按列填充的数组,nine.bin

返回到文件的开头。

frewind(文件标识)

一次读取两个值,并在读取下一个值之前跳过一个值。方法指定此格式精度值,“2 * uint16”.因为数据是类uint16,一个值用2个字节表示。因此,请指定跳过参数为2

精度=“2 * uint16”;Skip = 2;B = fread(fileID,[2,3],precision,skip)
B =2×31 4 7 2 5 8

从文件中读返回一个2 × 3的数组,按列填充来自的值nine.bin

关闭文件。

文件关闭(文件标识);

创建一个包含二进制编码的十进制(BCD)值的文件。

STR = [“AB”“CD”“英孚”“足”];fileID = fopen(“bcd.bin”' w ');写入文件(文件标识,hex2dec (str),“ubit8”);文件关闭(文件标识);

每次读取一个字节。

fileID = fopen(“bcd.bin”);onbyte = fread(fileID,4,)‘* ubit8‘);

显示BCD值。

disp (dec2hex (onebyte))
Ab CD ef fa

返回到文件的开头frewind.如果你在一个小端系统上一次读取4位,你的结果会以错误的顺序出现。

frewind(fileID) err = fread(fileID,8,)‘* ubit4‘);disp (dec2hex (err))
B a d c f e a f

返回到文件的开头frewind.和前面一样,每次读取4位数据,但是指定一个大端排序以显示正确的结果。

frewind(fileID) right = fread(fileID,8,)‘* ubit4‘“ieee-be”);disp (dec2hex(正确)
A b c d e f f A

关闭文件。

文件关闭(文件标识);

输入参数

全部折叠

打开二进制文件的文件标识符,指定为整数。在读取文件之前从文件中读,你必须使用打开外部文件打开文件,获取文件标识

数据类型:

输出数组的尺寸,一个,指定为,一个整数,或一个双元素行向量。

的形式sizeA输入 输出数组的尺寸,一个
列向量,其中每个元素在文件中包含一个值。
n 的列向量n元素。
(m, n) ——- - - - - -n矩阵,按列顺序填充。n可以,但不能。

类和大小,以要读取的值的位为单位,指定为字符向量或以下形式之一的字符串标量。输入可选地指定输出矩阵的类,一个

的形式精度输入 描述
所指定的类的输入值.输出矩阵一个是类
例子:“int16”
= >输出 所指定的类的输入值.输出矩阵的类,一个,由输出
例子:“int8 = >字符”
输入值和输出矩阵,一个,都属于.为nubitn精度,输出具有可以包含输入的最小类。
例子:‘* ubit18‘
这相当于' ubit18 = > uint32”

N
N= >输出

N对象指定的字节数之前的值跳过论点。
例子:“4 * int8”

的可能值而且输出

值类型 精度 位(字节)

整数,无符号

“单位”

32 (4)

“uint8”

8 (1)

“uint16”

16 (2)

“uint32”

32 (4)

“uint64”

64 (8)

“uchar”

8 (1)

“无符号字符”

8 (1)

“ushort”

16 (2)

“ulong”

32 (4)

“ubitn

1n64

整数,签署了

“int”

32 (4)

“int8”

8 (1)

“int16”

16 (2)

“int32”

32 (4)

“int64”

64 (8)

的整数* 1

8 (1)

“整数* 2”

16 (2)

“整数* 4”

32 (4)

的整数* 8

64 (8)

“schar”

8 (1)

“签名字符”

8 (1)

“短”

16 (2)

“长”

32 (4)

“一点n

1n64

浮点数

“单一”

32 (4)

“双”

64 (8)

“浮”

32 (4)

“float32”

32 (4)

“float64”

64 (8)

“真正的* 4”

32 (4)

“真正的* 8”

64 (8)

字符

“char * 1”

8 (1)

“字符”

取决于与文件关联的编码方案。设置编码打开外部文件

的大多数值,如果从文件中读在读取完整值之前到达文件末尾,则不返回最终值的结果。然而,如果nubitn,然后从文件中读返回最终值的部分结果。

请注意

为了保护而且MATLAB中的值®,读写类的数据

数据类型:字符|字符串

读取每个值后要跳过的字节数,指定为标量。如果指定精度nubitn,指定跳过在碎片。

使用跳过参数从定长记录中的不连续字段读取数据。

读取文件中字节的顺序,指定为字符向量或字符串标量。指定machinefmt作为下表中的值之一。为n而且ubitn精度,machinefmt指定字节内读取位的顺序,但读取字节的顺序保持系统字节顺序。

“n”“本地”

您的系统字节排序(默认)

“b”“ieee-be”

高位优先排序

“l”“ieee-le”

低位优先排序

“年代”“ieee-be.l64”

大端排序,64位长数据类型

“一个”“ieee-le.l64”

小端排序,64位长数据类型

默认情况下,当前支持的所有平台都对新文件使用小端排序金宝app。现有的二进制文件可以使用大端排序或小端排序。

数据类型:字符|字符串

输出参数

全部折叠

文件数据,作为列向量返回。如果您指定sizeA参数,然后一个是指定大小的矩阵。数据一个是类类中指定不同的类精度论点。

读取的字符数,作为标量值返回。

扩展功能

R2006a之前介绍过