文档

打开外部文件

打开文件,或获取有关打开文件的信息

语法

文件标识= fopen(文件名)
文件标识= fopen(文件名,许可)
fileID=fopen(文件名、权限、机器代码、编码)
[文件标识,errmsg] = fopen (___)
支撑材= fopen(所有)
filename=fopen(fileID)
[文件名,许可,machinefmt encodingOut] = fopen(文件标识)

描述

例子

文件标识= fopen (文件名)打开文件,文件名,并返回等于或大于3的整数文件标识符。MATLAB®保留文件标识符0,1.,2.分别用于标准输入、标准输出(屏幕)和标准误差。

如果打开外部文件无法打开文件,那么文件标识-1

文件标识= fopen (文件名,许可)使用指定的访问类型打开文件许可

例子

文件标识= fopen (文件名,许可,machinefmt,encodingIn)另外,使用指定文件中的字节或位的读取或写入顺序machinefmt论点。可选encodingIn参数指定与文件关联的字符编码方案。

例子

[文件标识,errmsg] = fopen (___)如果出现以下情况,还将返回系统相关的错误消息:打开外部文件无法打开该文件。否则,,是一个空字符向量。您可以将此语法与前面语法的任何输入参数一起使用。

例子

支撑材= fopen(所有)返回包含所有打开文件的文件标识符的行向量。不包括为标准输入、输出和错误保留的标识符。向量中的元素数等于打开的文件数。

filename=fopen(文件标识)返回前一个调用所指向的文件名打开外部文件在打开由指定的文件时使用文件标识.输出文件名被解析为完整路径。这个打开外部文件函数不会从文件中读取信息以确定输出值。

例子

[文件名,许可,machinefmt encodingOut] = fopen (文件标识)另外,还返回上一次调用所使用的权限、计算机格式和编码打开外部文件打开指定文件时使用。如果文件是以二进制模式打开的,许可包括这封信“b”.这个encodingOutOutput是一个标准的编码方案名称。打开外部文件不从文件中读取信息以确定这些输出值。一个无效的文件标识为所有输出参数返回空字符向量。

例子

全部崩溃

打开文件并将文件标识符传递给fgetl功能,读取数据。

打开文件,翼型,获取文件标识符。

文件标识= fopen (“airfoil.m”);

过关文件标识fgetl函数从文件中读取一行。然后,关闭文件。

tline=fgetl(fileID);fclose(文件ID)

创建一个提示来请求要打开的文件的名称。如果打开外部文件无法打开文件,显示相关错误消息。

fileID=-1;嗯='';虽然fileID < 0 disp(errmsg);文件名=输入(“打开文件:,'s');[文件标识,errmsg] = fopen(文件名);结束

使用Shift-JIS字符编码打开文件写入文件。

文件标识= fopen (“japanese_out.txt”,“w”,“n”,“Shift_JIS”);

这个“w”Input指定写访问权限“n”输入指定本机字节顺序,以及“Shift_JIS”指定字符编码方案。

假设您以前使用打开了一个文件打开外部文件

文件标识= fopen (“airfoil.m”);

获取所有打开文件的文件标识符。

支撑材= fopen (“全部”)
支撑材= 3

获取打开文件的文件名和字符编码。使用~代替您想要省略的输出参数。

[文件名,~,~,编码]= fopen (3)
文件名=matlabrootmatlab工具箱\ \ \ demo \机翼。M编码= windows-1252

这里显示的输出具有代表性。你的结果可能不同。

输入参数

全部崩溃

要打开的文件的名称,包括文件扩展名,指定为字符行向量或字符串标量。如果文件不在当前文件夹中,文件名必须包含完整路径或相对路径。

在UNIX®系统,如果文件名始于'~/''~用户名/'这个打开外部文件函数将路径分别扩展到当前或指定的用户的主目录。

  • 如果您打开一个具有读访问权限的文件,而该文件不在当前文件夹中,则打开外部文件沿着MATLAB搜索路径进行搜索。

  • 如果您以写或追加访问权限打开文件,而该文件不在当前文件夹中,则打开外部文件在当前目录中创建文件。

例子:“myFile.txt”

数据类型:字符|字符串

文件访问类型,指定为字符向量或字符串标量。您可以以二进制模式或文本模式打开文件。在UNIX系统上,这两种转换模式具有相同的效果。若要以二进制模式打开文件,请指定以下选项之一。

“r”

打开文件进行读取。

“w”

打开或创建新文件以进行写入。丢弃现有内容(如果有)。

“一个”

打开或创建新文件以进行写入。将数据追加到文件末尾。

' r + '

打开文件进行读写。

“w +”

打开或创建用于读写的新文件。丢弃现有内容(如果有)。

“+”

打开或创建用于读写的新文件。将数据追加到文件的末尾。

“一个”

打开文件以便追加,而不自动刷新当前输出缓冲区。

“W”

在不自动刷新当前输出缓冲区的情况下打开文件进行写入。

要以文本模式打开文件,请附上信件“不”许可参数,如“rt”“wt +”

在Windows上®系统,在文本模式下:

  • 遇到回车符后跟换行符的读取操作(“\r\n”)从输入中删除回车。

  • 写操作在输出的任何换行符之前插入一个回车符。

如果您想在MATLAB中写入文件,请以文本模式打开或创建一个新文件,然后在Microsoft中打开它®记事本,或任何不能识别的文本编辑器“\n”作为换行序列。写入文件时,每一行以“\r\n”. 有关示例,请参见. 否则,请以二进制模式打开文件以获得更好的性能。

读写同一个文件:

  • 打开值为for的文件许可它包括一个加号,“+”

  • 调用fseek弗雷温在读写操作之间。例如,不要打电话从文件中读然后写入文件,或写入文件然后从文件中读,除非你打电话fseek弗雷温在他们之间。

数据类型:字符|字符串

读取或写入文件中的字节或位的顺序,指定为以下字符向量或字符串标量之一。

“n”“本地”

系统字节排序(默认)

“b”“ieee be”

大端序

“l”“ieee-le”

小端序

's'“ieee-be.l64”

大端序,64位长数据类型

“一个”“ieee-le.l64”

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

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

数据类型:字符|字符串

用于后续读写操作的字符编码,包括fscanf,,fgetl,fgets,从文件中读,写入文件,指定为字符向量或字符串标量。字符向量或字符串标量必须包含如下所示的标准字符编码方案名称。

“繁体”

“iso - 8859 - 1”

“windows - 847”

“Big5-HKSCS”

“iso - 8859 - 2”

“windows-949”

“CP949”

“iso - 8859 - 3”

“windows - 1250”

‘EUC-KR’

“iso - 8859 - 4”

“windows - 1251”

‘EUC-JP’

“iso - 8859 - 5”

“windows - 1252”

“EUC-TW”

“iso - 8859 - 6”

“windows - 1253”

“GB18030”

“iso - 8859 - 7”

“windows - 1254”

“GB2312”

“iso - 8859 - 8”

“windows - 1255”

“GBK”

“iso - 8859 - 9”

“windows - 1256”

“IBM866”

“iso - 8859 - 11”

“windows - 1257”

“KOI8-R”

‘ISO-8859-13’

“windows - 1258”

“KOI8-U”

‘ISO-8859-15’

“us - ascii”

“麦金塔”

“utf - 8”

“Shift_JIS”

如果未指定编码方案,打开外部文件使用系统的默认编码打开文件进行处理。有关更多信息,请参见打开具有不同字符编码的文件

如果指定的编码值不在支持值列表中,MATLAB将发出警告。指定其他编码名称有时(但并非总是)会产生正确的结果。金宝app

数据类型:字符|字符串

打开文件的文件标识符,指定为整数。

数据类型:

提示

  • 在大多数情况下,不需要以文本模式打开文件。MATLAB导入函数、所有UNIX应用程序以及Microsoft Word和写字板“\n”作为换行符。

扩展功能

之前介绍过的R2006a

这个话题有用吗?