Каков наилучший способ определить размер файла с помощью MATLAB? Первая мысль, которая приходит на ум, - size(fread(fid))
.Как вы можете получить размер файла в MATLAB?
ответ
Пожалуйста, см функция dir, как указано выше.
Обратите внимание: функция dir работает только с файлами, а не только с каталогами.
>> s = dir('c:\try.c')
s =
name: 'try.c'
date: '01-Feb-2008 10:45:43'
bytes: 20
isdir: 0
datenum: 7.3344e+005
Используйте тот факт, что MatLab имеет доступ к Java Objects:
myFile = java.io.File('filename_here')
flen = length(myFile)
Всегда работайте по сравнению с dir, который не всегда дает ответ. – k4lls
Мне любопытно узнать, где 'dir' терпит неудачу, и это удается. До сих пор я всегда получал результат только с 'dir'. –
Вы можете использовать функцию DIR, чтобы получить справочную информацию, которая включает в себя размеры файлов в этом каталоге. Например:
dirInfo = dir(dirName); %# Where dirName is the directory name where the
%# file is located
index = strcmp({dirInfo.name},fileName); %# Where fileName is the name of
%# the file.
fileSize = dirInfo(index).bytes; %# The size of the file, in bytes
Или, поскольку вы ищете только один файл, вы можете делать то, что Elazar сказал и просто передать абсолютный или относительный путь к файлу для DIR:
fileInfo = dir('I:\kpe\matlab\temp.m');
fileSize = fileInfo.bytes;
Эй, ты заработал значок из-за моего ответа (8> 3 * 2). ;-) –
К сожалению, нет. Ваш ответ должен иметь как минимум 10 приоритетов, а это значит, что у меня должно было быть 20. Я не думаю, что на SO есть достаточно людей, которые заинтересованы в MATLAB для подобных видов. Мы можем мечтать, хотя ... =) – gnovice
Если вы не хотите, чтобы жёстко в каталоге, вы можете использовать встроенный в PWD инструмент, чтобы найти текущий каталог, а затем добавить имя файла к нему. Смотрите пример ниже:
FileInfo = dir([pwd,'\tempfile.dat'])
FileSize = FileInfo.bytes
Возможно, dir изменился со временем, но в настоящее время вам не нужно беспокоиться о полном имени, если ваш файл находится в текущем каталоге. –
Этот код работает для любого файла и директории (нет необходимости абсолютного пути):
dirInfo=dir(pwd);
index = strcmp({dirInfo.name},[filename, '.ext']); % change the ext to proper extension
fileSize = dirInfo(index).bytes
Возможно, dir изменился со временем, но в настоящее время вам не нужно беспокоиться о полном имени, если ваш файл находится в текущем каталоге. –
Вопрос, кажется, указывает, что fopen
/fread
/.. используется. В этом случае, почему бы не искать конец файла и читать позицию?
Пример:
function file_length = get_file_length(fid)
% extracts file length in bytes from a file opened by fopen
% fid is file handle returned from fopen
% store current seek
current_seek = ftell(fid);
% move to end
fseek(fid, 0, 1);
% read end position
file_length = ftell(fid);
% move to previous position
fseek(fid, current_seek, -1);
end
Matlab могли бы обеспечить ярлык ..
Подробнее о ftell
можно найти here.
Спасибо. (!) Я нашел это очень полезным, учитывая, что в моем коде у меня есть fileID открытого файла для работы, а не путь к файлу. – MarcinKonowalczyk
Легкий способ найти размер файла: ввести эти cammands
K = imfinfo ('filename.formate');
size_of_file = K.FileSize
и получить размер файла.
Как представляется, не работает вообще. Кажется, он предназначен для работы только с графическими файлами. –
- 1. Как вы можете получить размер файла в Elixir?
- 2. Как вы можете получить размер кадра в ReactNative?
- 3. Можете ли вы приостановить MATLAB?
- 4. Можете ли вы получить физический размер устройства в киви?
- 5. проверить размер файла MATLAB
- 6. Можете ли вы получить размер объекта Flash в ActionScript?
- 7. Можете ли вы получить уникальный идентификатор объекта MATLAB?
- 8. Можете ли вы получить размер видимой области обрезанного элемента управления?
- 9. Как вы можете получить размер файла изображения на веб-странице с помощью Javascript?
- 10. C# как вы можете получить вывод другого командного файла?
- 11. Как вы можете получить в asp.net?
- 12. Можете ли вы получить размер/разрешение экрана с помощью javascript?
- 13. Можете ли вы изменить размер указателя на
- 14. В Rails вы можете получить содержимое файла без его рендеринга?
- 15. window.print() - Вы можете задать размер бумаги?
- 16. Можете ли вы определить переменную в MATLAB как набор?
- 17. Как вы можете нарисовать кривую Безье в Matlab
- 18. Как вы можете сделать два цвета в сюжете Matlab?
- 19. Как вы контролируете размер выходного файла?
- 20. Как вы можете указать размер регистра в x86?
- 21. В SVN вы можете проверить часть структуры файла, вы можете сделать то же самое в GIT
- 22. Как получить размер файла, выбранного пользователем (autohotkey)?
- 23. Passport.JS, как вы можете получить все зарегистрированные?
- 24. Как вы можете получить экземпляр экземпляра? (Com.sun.jdi)
- 25. Как вы можете получить профилировщик Python?
- 26. Как вы можете получить длину строки TensorFlow?
- 27. Как вы можете получить JSON Path?
- 28. Как вы можете получить количество параметров
- 29. Как вы можете получить приложение для закрытия?
- 30. Как вы можете получить имена параметров метода?
+1: Хорошая точка. Я забыл упомянуть, что вы также можете передавать имена файлов. – gnovice
И если файл находится в вашем текущем каталоге, вы можете просто использовать 'dir ('try.c')', не беспокоясь о пути. –