- 0 Discussione
-
Lavorare con i files
Indice |
Introduzione
Modifica
Non c'è applicazione che non faccia accesso ai files, nella libreria standard, sono presenti delle funzioni che permettono di lavorare con i files in modo semplice e veloce, i moduli dove possiamo trovare classi e funzioni per l'I/O su file sono:
- std.file
- std.stream (verrà visto in seguito)
Creazione di un file
Modifica
Per creare un file utilizziamo la funzione write():
import std.stdio; import std.file; int main(string[] args) { //Creiamo un file vuoto in C:\ chiamato 'Prova.txt' std.file.write("C:\\Prova.txt", null); return 0; }
La funzione write() chiede due parametri:
- Il percorso dove deve essere creato il file.
- Il contenuto da scrivere, se si passa null verrà creato un file vuoto.
Scrittura su un file
Modifica
La funzione write() non si limita solo alla creazione di files, ma permette anche di scriverci, ecco un esempio su come usare la funzione per scrivere su file:
import std.stdio; import std.file; int main(string[] args) { //Creaimo un file in C: chiamato 'Prova.txt' e scriviamo su file 'Testo' std.file.write("C:\\Prova.txt", "Testo"); return 0; }
Lettura di un file
Modifica
Per leggere un file, ci viene in aiuto la funzione read():
import std.stdio; import std.file; int main(string[] args) { /* La funzione read() restituisce un array di void[], quindi può essere restituito * un array di qualunque tipo, siccome noi abbiamo inserito del testo, facciamo * il cast da void[] a char[] (quindi: string) */ string str = cast(string)std.file.read("C:\\Prova.txt"); writefln(str); return 0; }
La funzione read() chiede un parametro e ne restituisce uno:
- Il primo parametro è il percorso del file da leggere.
- Restituisce un array di void (void[]) che contiene i dati letti (è necessario un cast).
Gli Stream
Modifica
Il concetto di stream verrà spiegato nella parte della programmazione ad oggetti, in certe situazioni gli stream possono semplificare di molto la manipolazione dei files.