fread

Считайте и выполните файл

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

fread(filename | n, <Quiet>, <Plain>, <Encoding = "encodingValue">)

Описание

fread(file) чтения и выполняют файл MuPAD®.

fread(filename) читает файл и оценивает каждый оператор MuPAD в файле. Если имя файла заканчивается в “.gz” и файл находится в gzip- сжатый формат, это будет прозрачно несжатым после чтения. fread автоматически открывает файл, выполняет операцию чтения и закрывает файл.

fread(..., Encoding = "encodingValue") использует заданное кодирование. Для поддерживаемой кодировки см. Опции. Можно использовать эту опцию с ранее заданными синтаксисами.

fread похоже на read. Единственной разницей является тот fread не ищет файлы в папках, данных READPATH и путем к библиотеке; fread только поиски файла относительно “рабочей папки”.

Обратите внимание на то, что значение “рабочей папки” зависит от операционной системы. В системах Windows® и в системах Mac OS X, “рабочая папка” является папкой, где MATLAB® установлен. В системах UNIX® это - текущая рабочая папка, в которой был запущен MATLAB. Когда запущено с меню или настольного элемента, это обычно - домашняя папка пользователя.

Также абсолютные пути обрабатываются fread.

fread может считать двоичные файлы MuPAD (созданный через fprint или write) а также текстовые ASCII-файлы. fread распознает формат файла автоматически.

Вместо имени файла, дескриптора файла файла, открытого через fopen может также использоваться. Смотрите Пример 3. Когда дескриптор файла используется, fread автоматически не открывает и закрывает файл. fclose должен использоваться, чтобы закрыть файл.

Когда файл читается с fread, переменная FILEPATH содержит путь файла.

Примеры

Пример 1

Создайте новый файл во временной папке системы. Имя временной папки варьируется для других платформ. fopen команда с TempFile опция создает файл во временной папке любой системы (если такая папка существует):

fid := fopen(TempFile, Write, Text): 
fprint(Unquoted, fid, "a := 3; b := 5; a + b;"):

Используйте fname чтобы возвратить имя временного файла, вы создали. Используйте fclose закрыть файл:

file := fname(fid):
fclose(fid)

При чтении файла MuPAD выполняет операторы. Каждый производит печать выход. Второй 8 ниже возвращаемое значение fread:

delete a, b:
fread(file);

Теперь переменные a и b присвойте значения в файле:

a, b

С опцией Quiet, только возвращаемое значение fread распечатан:

delete a, b:
fread(file, Quiet)

delete a, b:

Пример 2

Следующий пример демонстрирует опцию Plain. Во-первых, соответствующий входной файл создается:

fid := fopen(TempFile, Write, Text): 
fprint(Unquoted, fid,
       "f := proc(x) begin x^2 end_proc:",
       "a := f(3): b := f(4):"):
file := fname(fid):
fclose(fid)

Задайте alias для f:

alias(f = "some text"):

Ошибка происходит, при попытке считать файл без опции Plain. В контексте синтаксического анализатора сеанса MuPAD псевдоним заменяет f соответствующей строкой в присвоении f := .... Однако строки не могут быть присвоены значение:

fread(file)
Error: Invalid left-hand side. [_assign]
  Reading File: /tmp/mupad.351omQ

С опцией Plain, никакая такая ошибка не возникает: псевдоним для f проигнорирован fread:

fread(file, Plain):
a, b

unalias(f):
delete f, a, b:

Пример 3

Вы используете write сохранить значение идентификатора a во временном файле:

a := PI + 1:
fid := fopen(TempFile, Write, Text): 
file := fname(fid):
write(file, a):
delete a:

Этот файл открыт для чтения с fopen:

n := fopen(file):

Дескриптор файла возвращен fopen может быть передан fread. Чтение файла восстанавливает значение a:

fread(n):
a

fclose(n):
delete a:

Пример 4

Чтобы задать кодирование для чтения данных, используйте Encoding. Encoding опция применяется только к текстовым файлам, которые открыты с помощью имени файла и не дескриптора файла. Откройте временный файл и запишите оператор str := "abcäöü" в кодировании "UTF-8":

fprint(Unquoted, Text, Encoding="UTF-8",
                       "fread_test",
                       "str := \"abcäöü\"")

Задайте кодирование, чтобы считать файл. fread выполняет оператор:

fread("fread_test", Encoding="UTF-8"):

Если вы не задаете кодирование, системное кодирование по умолчанию используется. Таким образом ваш выход может варьироваться от показанного затем. Символы, нераспознанные системным кодированием по умолчанию, заменяются символом замены по умолчанию для того кодирования:

fread("fread_test"):

Параметры

filename

Имя файла: символьная строка

n

Дескриптор файла обеспечивается fopen: положительное целое число

Опции

Plain

Делает fread используйте его собственный контекст синтаксического анализатора

При использовании этой опции файл читается в новом контексте синтаксического анализатора. Это означает что история, как возвращено командой history, не изменяется операторами в файле. Далее, набор сокращений вне файла через alias или пользовательские операторы проигнорированы во время выполнения файла. Эта опция полезна для чтения файлов инициализации в чистой среде.

Quiet

Подавляет выход во время выполнения fread

При использовании этой опции выход подавлен при чтении и выполнении файла. Однако предупреждения и сообщения об ошибке, а также выход print команды все еще отображаются.

Encoding

Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:

"Big5"

"ISO-8859-1"

"windows-932"

"EUC-JP"

"ISO-8859-2"

"windows-936"

"GBK"

"ISO-8859-3"

"windows-949"

"KSC_5601"

"ISO-8859-4"

"windows-950"

"Macintosh"

"ISO-8859-9"

"windows-1250"

"Shift_JIS"

"ISO-8859-13"

"windows-1251"

"US-ASCII"

"ISO-8859-15"

"windows-1252"

"UTF-8"

 

"windows-1253"

  

"windows-1254"

  

"windows-1257"

Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования.

Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам.

Возвращаемые значения

Возвращаемое значение последнего оператора файла.

Смотрите также

Функции MuPAD