fopen
Открытый файл
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
fopen(filename | TempFile
, <Read | Write | Append
>, <Bin | Text | Raw
>, <Encoding = "encodingValue"
>)
fopen(filename, format)
открывает существующий файл для чтения в заданном формате. Ошибка повышена, если никакой файл с указанным именем не найден, или формат файла не совпадает с заданным format
. Если файл находится в gzip
- сжатый формат и его имя заканчиваются в “.gz
”, это будет прозрачно несжатым после чтения.
fopen(filename)
открывает существующий файл для чтения. Файл должен содержать данные в тексте или двоичном формате MuPAD® (опционально сжатый), fopen
автоматически идентифицирует формат файла в этом случае. Файл не должен использоваться в качестве необработанного файла.
fopen(filename, mode, format)
открывает файл для записи в заданном формате, если режим дан как Read
или Append
. Если никакой файл с указанным именем не существует, новый файл создается. Если имя файла заканчивается в “.gz
”, все данные, записанные в файл, будут прозрачно сжаты в gzip
совместимый формат.
fopen(TempFile, format)
создает и открывает временный файл для записи в заданном формате. Опция Read
и Append
не позволены в этом случае. Если никакой формат не дан, Bin
используется. Используйте fname
запрашивать подлинное имя и местоположение временного файла. См. Пример 3.
fopen(..., Encoding = "encodingValue")
использует заданное кодирование. Для поддерживаемой кодировки см. Опции. Можно использовать эту опцию с ранее заданными синтаксисами для текстовых файлов.
В режиме записи (использующий одну из опций Write
или Append
), переменная окружения WRITEPATH
рассматривается, если никакой временный файл не создается. Если это имеет значение, новый файл создается (или существующий файл разыскивается) в соответствующей папке. В противном случае это создается/ищется в “рабочей папке”.
Обратите внимание на то, что значение “рабочей папки” зависит от операционной системы. В системах Windows® и в системах Mac OS X, “рабочая папка” является папкой, где MATLAB® установлен. В системах UNIX® это - текущая рабочая папка, в которой был запущен MATLAB. Когда запущено с меню или настольного элемента, это обычно - домашняя папка пользователя.
В режиме чтения, fopen
не ищет файлы в папках, данных путем к библиотеке.
Временный файл создается в специальной папке. Эта папка и имя файла системно-зависимы.
Также абсолютные пути обрабатываются fopen
.
Дескриптор файла возвращен fopen
может использоваться различными функциями, такими как fname
fclose
fread
, fprint
чтение
запись
и т.д.
Файл открыт fopen
должен быть закрыт fclose
после использования. Это содержит также для временных файлов.
fopen
принимает его аргументы в любом порядке, не только в порядке, используемом выше.
Функция чувствительна к переменной окружения WRITEPATH
при создании файлов, которые не являются временными (временные файлы создаются через TempFile
). Если WRITEPATH
имеет значение, в режиме записи (использующий опции Write
или Append
), файл создается в соответствующей папке. В противном случае файл создается в “рабочей папке”. Временный файл создается в специальной папке.
При использовании Write
или Append
fopen
создает новый файл, если никакой файл под именем не существует.
Откройте файл test
для записи. С опцией Write
, не необходимо что файл test
\exists. По умолчанию файл открыт как двоичный файл:
fid := fopen("test", Write):
Запишите строку в файл и закройте его:
fprint(fid, "a string"): fclose(fid):
Добавьте другую строку к файлу:
fid := fopen("test", Append): fprint(fid, "another string"): fclose(fid):
Двоичный файл не может быть открыт как текстовый файл для добавления данных:
fid := fopen("test", Append, Text)
Однако это может быть открыто как текстовый файл с опцией Write
. Существующий двоичный файл перезаписывается с текстовым файлом:
fid := fopen("test", Write, Text): fclose(fid): delete fid:
fopen
сбои, чтобы открыть несуществующие файлы для чтения. Здесь, примите файл “xyz
” не существует:
n := fopen("xyz")
Примите файл “test
” созданный в Примере 1 существует. Это может быть открыто для чтения успешно:
n := fopen("test")
fclose(n): delete n:
Откройте временный файл, запишите 10 байтов двоичных данных в него и закройте его. fname
используется, чтобы запросить имя файла:
fd := fopen(TempFile, Raw): writebytes(fd, [i $ i=1..10]): fn := fname(fd): fclose(fd): fn
Вновь откройте файл и считайте данные:
fd := fopen(fn, Read, Raw): readbytes(fd);
fclose(fd): delete fd, fn:
Чтобы задать кодирование, чтобы читать и записать данные, используйте Encoding
. Encoding
опция применяется только к текстовым файлам, которые открыты с помощью имени файла и не дескриптора файла. Создайте временный файл и запишите строке "abcäöü"
в кодировании "UTF-8"
:
fid := fopen(TempFile, Text, Write, Encoding="UTF-8"): file := fname(fid): fprint(Unquoted, fid, "abcäöü"): fclose(fid):
Используйте ftextinput
считывать данные с заданным кодированием:
ftextinput(file, Encoding="UTF-8")
Если вы не задаете кодирование, системное кодирование по умолчанию используется. Таким образом ваш выход может варьироваться от показанного затем. Символы, нераспознанные системным кодированием по умолчанию, заменяются символом замены по умолчанию для того кодирования:
fid := fopen(TempFile, Text, Write): file := fname(fid): fprint(Unquoted, fid, "abcäöü"): fclose(fid): ftextinput(file)
|
Имя файла: символьная строка или флаг |
|
| ||||||||||||||||||||||||||||||
|
С | ||||||||||||||||||||||||||||||
|
С Если режимом является | ||||||||||||||||||||||||||||||
|
Эта опция позволяет вам задать кодировку символов, чтобы использовать. Позволенная кодировка:
Кодировка по умолчанию системно-зависима. Если вы задаете кодирование неправильно, символы могут читать неправильно. Символы, нераспознанные кодированием, заменяются символом замены по умолчанию для заданного кодирования. Кодировка, не перечисленная здесь, может быть задана, но не может привести к правильным результатам. |
положительное целое число: дескриптор файла. FAIL
возвращен, если файл не может быть открыт.
FILEPATH
| READPATH
| WRITEPATH
| fclose
| finput
| fname
| fprint
| fread
| ftextinput
| import::readbitmap
| import::readdata
| pathname
| print
| protocol
| read
| readbytes
| write
| writebytes