Qual è il modo migliore per capire la dimensione di un file usando MATLAB? Il primo pensiero che viene in mente è size(fread(fid))
.Come si ottiene la dimensione di un file in MATLAB?
risposta
Vedere la funzione dir come indicato sopra.
Si noti che la funzione dir funziona solo su file e non su directory.
>> s = dir('c:\try.c')
s =
name: 'try.c'
date: '01-Feb-2008 10:45:43'
bytes: 20
isdir: 0
datenum: 7.3344e+005
Utilizzare il fatto che MatLab ha accesso a Java Objects:
myFile = java.io.File('filename_here')
flen = length(myFile)
Lavorare sempre confrontare con dir che non dà sempre una risposta. – k4lls
Sono curioso di vedere dove 'dir' fallisce e questo succede. Finora ho sempre ottenuto un risultato con solo 'dir'. –
È possibile utilizzare la funzione di DIR per ottenere le informazioni di directory, che include le dimensioni dei file in quella directory. Per esempio:
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
Oppure, dal momento che sono alla ricerca di un solo file, si può fare quello Elazar detto e basta passare un percorso assoluto o relativo al file al DIR:
fileInfo = dir('I:\kpe\matlab\temp.m');
fileSize = fileInfo.bytes;
Ehi, hai guadagnato un badge a causa della mia risposta (8> 3 * 2). ;-) –
Purtroppo no. La tua risposta dovrebbe avere almeno 10 upvotes, il che significa che il mio dovrebbe avere 20. Non penso che ci siano abbastanza persone su SO che sono interessate a MATLAB per fare in modo che questi numeri possano accadere. Possiamo sognare però ... =) – gnovice
Se non si desidera hardcode nella directory, è possibile utilizzare lo strumento costruito in pwd per trovare la directory corrente e quindi aggiungere il nome del file ad esso. Vedere il seguente esempio:
FileInfo = dir([pwd,'\tempfile.dat'])
FileSize = FileInfo.bytes
Forse dir cambiato nel tempo, ma al momento non è necessario preoccuparsi del nome completo comunque se il file si trova nella directory corrente. –
Questo codice funziona per qualsiasi file e directory (senza bisogno di percorso assoluto):
dirInfo=dir(pwd);
index = strcmp({dirInfo.name},[filename, '.ext']); % change the ext to proper extension
fileSize = dirInfo(index).bytes
Forse dir cambiata nel tempo, ma al momento non è necessario preoccuparsi del nome completo comunque se il file si trova nella directory corrente. –
La questione sembra indicare che fopen
/fread
/.. viene utilizzato. In questo caso, perché non cercare fino alla fine del file e leggere la posizione?
Esempio:
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 avrebbe potuto fornire una scorciatoia ..
Altro su ftell
può essere trovato here.
Grazie. (!) L'ho trovato molto utile considerando che nel mio codice ho un fileID di un file aperto con cui lavorare, non un percorso di file. – MarcinKonowalczyk
modo semplice per trovare la dimensione del file è: immettere questi cammands
K = imfinfo ('filename.formate');
size_of_file = K.FileSize
e ottenere la dimensione del file.
Non sembra funzionare in generale. Sembra progettato per funzionare solo con file grafici. –
- 1. Come si ottiene la dimensione del file in C#?
- 2. Come si ottiene la dimensione di un file in megabyte usando Perl?
- 3. Come si ottiene la dimensione di una raccolta boto3?
- 4. Come si ottiene la dimensione di UIImageView dopo l'applicazione dell'autolayout?
- 5. Come si ottiene la dirname di un file con Perl?
- 6. Come si ottiene la dimensione di un singolo indice in MongoDB?
- 7. In GTK, come si ottiene la dimensione effettiva di un widget sullo schermo?
- 8. Ruby ottiene la dimensione in byte di un array
- 9. ottiene la dimensione del margine di un elemento con jquery
- 10. Come conoscere la dimensione di una variabile in MATLAB
- 11. C++ ottiene la dimensione (in byte) di EOL
- 12. Come si ottiene un percorso file senza estensione in PowerShell?
- 13. Come si ottiene la dimensione di una richiesta in Play 2.0.x?
- 14. Come si ottiene la dimensione del carattere di default del sistema in Qt?
- 15. Come si cancella la console in MATLAB?
- 16. WinForms - Come si ottiene la dimensione che un controllo "vuole" essere?
- 17. Come si ottiene un timestamp in ClojureScript?
- 18. ottiene il codice delle funzioni in Matlab?
- 19. Come si ottiene la directory assoluta di un file in bash?
- 20. Come si ottiene la dimensione del carattere regolato automaticamente in iOS 7.0 o versioni successive?
- 21. Come determinare la dimensione di un file aperto in Python?
- 22. Angularjs ottiene la richiesta di un enorme file json
- 23. Come si ottiene il file su disco e non solo le dimensioni del file in Java?
- 24. Come si ottiene l'indice di un articolo in un array?
- 25. Getize() di ImageFont non ottiene la dimensione corretta del testo?
- 26. Come si imposta la dimensione della linguetta in un JEditorPane?
- 27. Come si ottiene la riga di comando completa in ruby?
- 28. Come recuperare la dimensione di un file prima di caricarlo?
- 29. Come si ottiene la cronologia di una proprietà di file/cartella in SVN?
- 30. Come si ottiene GetCustomAttributes?
+1: buon punto. Ho dimenticato di menzionare che puoi anche passare i nomi dei file. – gnovice
E se il file si trova nella tua directory corrente, puoi semplicemente usare 'dir ('try.c')' senza preoccuparti del percorso. –