Lese og skrive filer
Last inn og lagre tekst og byte
Lese og skrive filer er en gratis leksjon i Dart Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Dart Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Dart Academy inneholder totalt 4 leksjoner.
Hvorfor dart:io
For å håndtere virkelige filer fra et kommandolinjeprogram importerer De dart:io. Det gir Dart mulighet til å lese fra og skrive til disken.
import 'dart:io';Bli kjent med File-klassen
Et File-objekt peker på en filbane på disken. Når De oppretter objektet, åpnes eller leses ingenting ennå; det navngir bare målet.
final file = File('notes.txt');Lese en hel fil
Bruk readAsString for å hente en hel tekstfil inn i én String. Metoden returnerer en Future, så De må avvente resultatet.
final text = await file.readAsString();Lese linje for linje
Foretrekker De en liste med linjer? readAsLines gir Dem hver rad som sin egen String, noe som passer perfekt når radene skal behandles én om gangen.
final lines = await file.readAsLines();Skrive ut tekst
Bruk writeAsString for å lagre tekst. Metoden oppretter filen hvis den mangler, og erstatter eksisterende innhold som standard.
await file.writeAsString('Hello, disk!');Legge til i stedet for å erstatte
Vil De beholde den gamle teksten og legge til mer? Send inn FileMode.append, så plasseres det nye innholdet på slutten.
await file.writeAsString('line\n', mode: FileMode.append);Arbeide med byte
Filer inneholder ikke alltid tekst. Bruk readAsBytes for å hente rådata som en liste med heltall for bilder eller binære formater.
final bytes = await file.readAsBytes();Kontrollere at filen finnes først
Lesing av en manglende fil utløser et unntak. Beskytt Dem ved å spørre exists før De i det hele tatt bruker filen.
if (await file.exists()) { /* safe to read */ }Synkrone versjoner
Alle asynkrone metoder har en blokkerende tvilling, for eksempel readAsStringSync. Det er praktisk i små skript, men alt fryses mens metoden kjører.
final text = file.readAsStringSync();Slette og gi nytt navn
Rydd opp med delete, eller flytt en fil ved å kalle rename med en ny filbane. Begge returnerer Futures som De kan avvente.
await file.rename('archive.txt');Velge riktig koding
Tekstmetoder bruker som standard utf8. For andre kodinger må De angi en eksplisitt koding, slik at aksenterte eller spesielle tegn bevares gjennom hele prosessen.
await file.writeAsString(s, encoding: latin1);Rask sjekk
De vil legge til en logglinje uten å slette eksisterende innhold. Hvilket alternativ gjør det?
Oppsummering
De kan nå lese filer som String, linjer eller byte, skrive eller legge til tekst og kontrollere med exists. Dette er grunnlaget for fil-I/O.
Lær deg Dart med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Lese og skrive filer» gratis?
Ja – hele teksten i «Lese og skrive filer» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Dart Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Dart Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Lese og skrive filer»?
Last inn og lagre tekst og byte Du øver på Dart Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Dart Academy?
Ingen tidligere erfaring er nødvendig. Dart Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Lese og skrive filer»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Dart Academy-leksjonen?
Ja. Alle Dart Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Lese og skrive filer
- Kataloger, stier og FileSystemEntity
- Strømming av store filer
- Stdin, Stdout og prosessargumenter