¿Cuál es la mejor manera de averiguar el tamaño de un archivo con MATLAB? El primer pensamiento que viene a la mente es size(fread(fid))
.¿Cómo se obtiene el tamaño de un archivo en MATLAB?
Respuesta
Por favor, vea la función dir como se indicó anteriormente.
Tenga en cuenta que la función dir funciona en archivos y no solo en directorios.
>> s = dir('c:\try.c')
s =
name: 'try.c'
date: '01-Feb-2008 10:45:43'
bytes: 20
isdir: 0
datenum: 7.3344e+005
uso del hecho de que MatLab tiene acceso a objetos de Java:
myFile = java.io.File('filename_here')
flen = length(myFile)
Siempre trabaje en comparación con un directorio que no siempre da una respuesta. – k4lls
Tengo curiosidad por ver dónde 'dir' falla y esto tiene éxito. Hasta ahora siempre obtuve un resultado con solo 'dir'. –
Usted puede utilizar la función DIR para obtener la información del directorio, que incluye los tamaños de los archivos de ese directorio. Por ejemplo:
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
O, ya que están en busca de un solo archivo, puede hacer lo Elazar dicho y sólo tiene que pasar una ruta absoluta o relativa al archivo de DIR:
fileInfo = dir('I:\kpe\matlab\temp.m');
fileSize = fileInfo.bytes;
Oye, ganaste una insignia por mi respuesta (8> 3 * 2). ;-) –
Lamentablemente, no. Su respuesta debería tener al menos 10 votos positivos, lo que significa que el mío debería tener 20. No creo que haya suficiente gente en SO que esté interesada en MATLAB para que suceda ese tipo de números. Aunque podemos soñar ... =) – gnovice
Si no desea codificar en su directorio, puede utilizar el construido en la herramienta pwd para encontrar el directorio actual y luego agregar su nombre de archivo a la misma. Consulte el siguiente ejemplo:
FileInfo = dir([pwd,'\tempfile.dat'])
FileSize = FileInfo.bytes
Quizás dir cambió con el tiempo, pero actualmente no necesita preocuparse del nombre completo de todos modos si su archivo está en el directorio actual. –
Este código funciona para cualquier archivo y directorio (sin necesidad de ruta absoluta):
dirInfo=dir(pwd);
index = strcmp({dirInfo.name},[filename, '.ext']); % change the ext to proper extension
fileSize = dirInfo(index).bytes
Quizás dir cambió con el tiempo, pero actualmente no necesita preocuparse del nombre completo de todos modos si su archivo está en el directorio actual. –
La pregunta parece indicar que fopen
/fread
/.. se utiliza. En este caso, ¿por qué no buscar hasta el final del archivo y leer el puesto?
Ejemplo:
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 podría haber proporcionado un acceso directo ..
Más sobre ftell
se puede encontrar here.
Gracias. (!) Lo he encontrado muy útil teniendo en cuenta que en mi código tengo un fileID de un archivo abierto para trabajar, no una ruta de archivo. – MarcinKonowalczyk
manera fácil de encontrar el tamaño del archivo es: introducir estos cammands
K = imfinfo ('filename.formate');
size_of_file = K.FileSize
y obtener el tamaño del archivo.
Parece que no funciona en general. Parece estar diseñado para funcionar solo con archivos gráficos. –
- 1. ¿Cómo se obtiene el tamaño del archivo por fd?
- 2. ¿Cómo se obtiene el archivo en el disco, y no solo el tamaño del archivo en Java?
- 3. ¿Cómo se obtiene el nombre de archivo de un archivo temporal para usar en Linux?
- 4. ¿Cómo se obtiene el tamaño de un índice individual en MongoDB?
- 5. Obtiene el título de la figura actual en MATLAB?
- 6. ¿Cómo verificar el tamaño de un archivo?
- 7. ¿Cómo cambio el tamaño de una matriz en MATLAB?
- 8. Cómo saber el tamaño de una variable en MATLAB
- 9. WinForms - ¿Cómo se obtiene el tamaño que un Control "quiere" ser?
- 10. ¿Cómo se obtiene el evento táctil en un CALayer?
- 11. lectura de un archivo CSV en MATLAB
- 12. ¿Cómo se obtiene el directorio actual en un marco compacto?
- 13. Calcule el tamaño real necesario para un uicontrol de MATLAB
- 14. ¿Cómo se obtiene el tamaño de una Solicitud en Play 2.0.x?
- 15. WPF: ¿obtiene el tamaño de UIElement en la memoria?
- 16. ¿Cómo determino el tamaño de un archivo abierto en Python?
- 17. ¿Dónde se obtiene el archivo de encabezado/fuente "sys/socket.h"?
- 18. ¿Cómo maneja MATLAB el cambio de archivo mientras se está ejecutando el archivo?
- 19. Cómo reemplazar el texto predeterminado en MATLAB
- 20. Cómo se obtiene el nombre del dispositivo de un iPhone
- 21. ¿Cómo se obtiene el tiempo pasado de un verbo?
- 22. MATLAB - escribir imagen en un archivo eps
- 23. ¿Cómo se obtiene el valor seleccionado de un Spinner?
- 24. Cambiar el tamaño de paneles en GUI sin cambiar el tamaño de los contenidos (MATLAB)
- 25. Obtiene el tamaño de la cadena std :: string en bytes
- 26. ¿Obtiene el directorio actual y ejecuta un archivo en vbscript?
- 27. Tamaño de fuente predeterminado de MATLAB
- 28. Obtiene el tamaño del patrón repetido de UIColor?
- 29. ImageFont's getsize() no obtiene el tamaño de texto correcto?
- 30. ¿Cómo se obtiene un selector de listas como el que se muestra en el despertador?
+1: Buen punto. Olvidé mencionar que también puedes pasar nombres de archivos. – gnovice
Y si el archivo está en su directorio actual, puede simplemente usar 'dir ('try.c')' sin preocuparse por la ruta. –