FOPEN

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

描述

例子

FILEID =的fopen(文件名)打开文件,文件名,对于二进制读访问,并且返回标识符等于整数文件或大于3 MATLAB®保留文件标识符0,1,2分别为标准输入、标准输出(屏幕)和标准错误。

如果FOPEN无法打开该文件,然后FILEID1

FILEID =的fopen(文件名,许可)打开访问的由指定的类型的文件许可

例子

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

例子

[FILEID,ERRMSG] =的fopen(___)另外,如果返回系统相关的错误消息FOPEN无法打开文件。否则,errmsg为空字符向量。您可以将此语法与前面语法的任何输入参数一起使用。

例子

FIDS =的fopen( '全部')返回一个包含所有打开的文件的文件标识符的行向量。对于标准输入,输出和错误保留的标识符不包括在内。在矢量元素的数量等于打开的文件数。

文件名= fopen (FILEID)返回文件名前面调用FOPEN当它打开指定的文件时使用FILEID。输出文件名解析为完整路径。的FOPEN函数不从文件中读取信息来确定输出值。

例子

[文件名,许可,machinefmt,encodingOut] =的fopen(FILEID)另外,返回先前调用的权限、机器格式和编码FOPEN当它打开指定的文件时使用。如果文件以二进制模式打开,许可包括信'B'。的encodingOut输出是一个标准的编码方案的名称。FOPEN不从文件中读取信息,以确定这些输出值。无效的FILEID返回所有输出参数为空特征向量。

例子

全部折叠

方法打开文件并将文件标识符传递给fgetl函数读取数据。

打开文件,tsunamis.txt,并获得文件识别符。

FILEID =的fopen('tsunamis.txt');

通过FILEIDfgetl函数从文件中读取一行。

tline = fgetl(文件标识)
TLINE =“A全球海啸数据在XLSX格式集合,包括以下文件:”

关闭文件。

文件关闭(文件标识)

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

文件标识= 1;errmsg =;FILEID <0 DISP(ERRMSG);文件名=输入('打开文件: ',“年代”);[FILEID,ERRMSG] =的fopen(文件名);结束

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

FILEID =的fopen(“japanese_out.txt”,' w ','N',“Shift_JIS”);

' w '输入指定写访问,所述'N'输入指定本机字节排序,并且“Shift_JIS”指定字符编码方案。

假设您之前使用以下命令打开了一个文件FOPEN

FILEID =的fopen('tsunamis.txt');

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

FIDS =的fopen(“所有”)
FIDS = 3

获取打开的文件的文件名和字符编码。采用~到位的输出参数要忽略。

[文件名,~,~,编码]= fopen(文件标识)
文件名= 'matlabroot\工具箱\ MATLAB \演示\ tsunamis.txt”编码= '窗口1252'

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

输入参数

全部折叠

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

在UNIX®系统上,如果文件名开始于的~ /要么的~用户名/”,FOPEN功能扩展分别在路径当前或指定用户的主目录。

  • 如果您打开的读访问的文件和文件不是在当前文件夹,然后FOPEN沿着MATLAB搜索路径进行搜索。

  • 如果你打开一个文件,写或追加访问和文件不是在当前文件夹,然后FOPEN在当前目录中创建一个文件。

例:“myFile.txt”

数据类型:烧焦|

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

“r”

打开文件以供阅读。

' w '

打开或创建用于写入的新文件。如果存在现有内容,则丢弃它们。

'一种'

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

'R +'

用于读写打开文件。

'W +'

打开或创建用于读写的新文件。如果存在现有内容,则丢弃它们。

'A +'

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

'一种'

对于没有电流输出缓冲器的自动冲水附加打开的文件。

' W '

打开文件进行写入,不自动刷新当前输出缓冲区。

在文本模式下打开的文件,附加信“t”许可参数,如“rt”要么“重量+”

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

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

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

打开或者如果你想写它在MATLAB建立在文本模式下的新文件,然后在打开它微软®记事本或任何文本编辑器无法识别' \ n '作为一个新行序列。当写入文件,结束与每行“\ r \ n”。例如,参见fprintf中。否则,请以二进制模式打开文件以获得更好的性能。

要读取和写入同一个文件:

  • 打开一个值为的文件许可包括加号,'+'

  • 呼叫FSEEK要么frewind读写操作之间。例如,不要打电话FREAD紧随其后的是FWRITE, 要么FWRITE紧随其后的是FREAD,除非你打电话FSEEK要么frewind他们之间。

数据类型:烧焦|

为了读或写在该文件中字节或比特,指定为下面的特征向量或标量的字符串中的一个。

'N'要么“天然”

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

'B'要么“ieee-be”

高位优先排序

'L'要么“IEEE乐”

低位优先排序

“年代”要么'IEEE-be.l64'

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

'一种'要么'IEEE-le.l64'

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

默认情况下,所有目前支持的平台上使用新文件小端排序。万博1manbetx现有的二进制文件可以使用大端或小端排序。

数据类型:烧焦|

用于后续读写操作的字符编码,包括fscanf,fprintf中,fgetl,函数可以,FREAD,FWRITE,指定为字符向量或字符串标量。字符向量或标量字符串必须包含一个标准的字符编码方案的名称,如以下内容。

“中文”

'ISO-8859-1'

'窗口-874'

'中文-HKSCS'

'ISO-8859-2'

“windows - 949”

'CP949'

'ISO-8859-3'

'窗口-1250'

“EUC-KR”

'ISO-8859-4'

'窗口-1251'

“EUC-JP”

'ISO-8859-5'

“窗口1252”

'EUC-TW'

'ISO-8859-6'

'窗口-1253'

'GB18030'

'ISO-8859-7'

'窗口-1254'

“GB2312”

'ISO-8859-8'

'窗口-1255'

'GBK'

'ISO-8859-9'

'窗口-1256'

“IBM866”

'ISO-8859-11'

'窗口-1257'

'KOI8-R'

“iso - 8859 - 13”

'窗口-1258'

'KOI8-U'

“iso - 8859 - 15”

'US-ASCII'

“苹果”

'UTF-8'

“Shift_JIS”

如果不指定编码方案,FOPEN打开文件使用的默认编码为您的系统处理。欲了解更多信息,请参阅打开具有不同字符编码的文件

如果指定的编码值不在受支持的值列表中,MATLAB会发出警告。万博1manbetx有时(但不总是)指定其他编码名称会产生正确的结果。

数据类型:烧焦|

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

数据类型:

提示

  • 在大多数情况下,没有必要在文本模式下打开一个文件。MATLAB导入功能,所有的UNIX应用程序,以及微软文字处理软件和写字板承认' \ n '作为换行指示器。

扩展功能

R2006a前推出