Differenze tra le versioni di "Conoscere la dimensione di un file"

Da Gambas-it.org - Wikipedia.
Riga 104: Riga 104:
 
   
 
   
 
  '''End'''
 
  '''End'''
 +
 +
 +
==Uso della funzione esterna ''Stat'' di C==
 +
Si potrà, volendo, utilizzare anche la funzione esterna ''stat()'' di C con le modalità indicate in [[Conoscere_ed_impostare_i_permessi_di_un_file|questa pagina della Wiki]].

Versione delle 05:57, 5 nov 2014

Per conoscere la dimensione di un file, si potranno adottare almeno cinque modalità.


Uso della funzione Lof()

La funzone Lof() restituisce proprio la lunghezza in byte di un file:

Public Sub Main()

 Dim fl As File
 
  fl = Open "/percorso/del/file" For Read
 
  Print "La dimensione del file è: "; Lof(fl); " byte"

  fl.Close

End


Uso della proprietà .Size della Classe Stat

La Classe Stat restituisce una serie di informazioni relative ai file.

Un esempio può essere il seguente:

Public Sub Button1_Click()

 Dim s As String

   s = Stat("/percorso/del/file").Size

   Print "La dimensione del file è: "; s; " byte"

End


Uso della funzione Len()

Useremo la funzione Len() per conoscere la lunghezza della stringa di dati restituita dalla funzione .Load della Classe File:

Public Sub Button1_Click()

 Dim s As String

   s = File.Load("/percorso/del/file")

   Print "La dimensione del file è: "; Len(s); " byte"

End


Uso della funzione Seek

Potremo usare anche leggere la quantità di dati contenuti in un file con la funzione Seek, come ad esempio:

Public Sub Main()

 Dim fl As File
 Dim i As Integer

  fl = Open "/percorso/del/file" For Read

  While Not Eof(fl)
    inc i
    Seek #fl, i
  Wend
 
  Print "La dimensione del file è: "; i; " byte"

  fl.Close

End


Uso della proprietà .Count di un vettore

Potremo usare anche la proprietà .Count di un vettore per conoscere - dopo l'intera lettura di un file - la dimensione del file medesimo, come ad esempio:

Public Sub Main()

 Dim fl As File
 Dim bb as New Byte[]
 Dim b As Byte
 
  fl = Open "/percorso/del/file" For Read

  While Not Eof(fl)
    Read #fl, b
    bb.Add(b)
  Wend
 
  Print "La dimensione del file è: "; bb.Count; " byte"

  fl.Close

End

o anche così usando il metodo Read() della variabile vettoriale di tipo Byte[]:

Public Sub Main()

 Dim fl As File
 Dim bb as Byte[]
  
  fl = Open "/percorso/del/file"

  With bb = New Byte[Lof(fl)]
    .Read(fl)
  End With
 
  Print "La dimensione del file è: "; bb.Count; " byte"

  fl.Close

End


Uso della funzione esterna Stat di C

Si potrà, volendo, utilizzare anche la funzione esterna stat() di C con le modalità indicate in questa pagina della Wiki.