如何在MATLAB中获得文件的大小?

wei*_*yin 35 file-io matlab

使用MATLAB计算文件大小的最佳方法是什么?想到的第一个想法是size(fread(fid)).

Ela*_*ich 55

请参阅上面提到的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
Run Code Online (Sandbox Code Playgroud)


gno*_*ice 22

您可以使用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
Run Code Online (Sandbox Code Playgroud)

或者,由于您只查找一个文件,您可以执行Elazar所说的操作,并将文件的绝对路径或相对路径传递给DIR:

fileInfo = dir('I:\kpe\matlab\temp.m');
fileSize = fileInfo.bytes;
Run Code Online (Sandbox Code Playgroud)


Kit*_*YMG 7

使用MatLab可以访问Java对象的事实:

myFile = java.io.File('filename_here')
flen = length(myFile)
Run Code Online (Sandbox Code Playgroud)


小智 5

如果您不想在目录中进行硬编码,可以使用内置的pwd工具查找当前目录,然后将文件名添加到其中.见下面的例子:

FileInfo = dir([pwd,'\tempfile.dat'])
FileSize = FileInfo.bytes
Run Code Online (Sandbox Code Playgroud)