Golang OS Open

Golang OS Open

Du må lese eller skrive filer i programmene dine nesten hele tiden. Dette er et grunnleggende krav som enhver programmerer skal ha under beltene. Denne artikkelen vil dekke hvordan du åpner og leser filer i Go ved å bruke OS -pakken.

Golang OS -pakke

For å lese og skrive filer i Go, må vi importere OS -pakken. Du kan importere det ved hjelp av importnøkkelordet som vist nedenfor:

importere "OS"

Når du er importert, kan du utføre filoperasjoner uten feil.

OS.Åpen()

Før vi bruker Open () -metoden for å åpne og lese filen, la oss forberede miljøet vårt. Opprett en fungerende katalog:

mkdir read_file

Naviger inn i katalogen og opprett en tekstfil:

cd read_file
Berør hei.tekst

Når vi har en tekstfil å lese, åpner du den med din favoritt tekstredigerer og legger til litt innhold:

$ vim hei.tekst
"Hei fra hei.txt -fil "

Lukk og lagre filen.

For å åpne og lese filen i Go, opprette en GO -fil og skriv inn koden:

Fil, feil: = OS.Åpne ("Hei.tekst")
Hvis feil != nil
Logg.Fatal (feil)

Når vi har åpnet filen, kan vi lese dataene til filen i en skive av byte. Vi kan gjøre dette ved hjelp av lesemetoden, som tar byte -størrelsen som argument. Et eksempel er som vist:

file_data: = make ([] byte, 50)
Tell, feil: = fil.Les (file_data)
Hvis feil != nil
Logg.Fatal (feil)

fmt.Printf ("Les %d byte: %q \ n", count, file_data [: count])

I dette avsnittet bruker vi Create a Shice of Bytes. Vi bruker deretter lest () -metoden for å lese dataene til filen.

Vi sjekker for feil og bestemmer deretter antall byte vi leser fra filen. Ved hjelp av printf -metoden skriver vi ut innholdet i filen.

Den resulterende utgangen:

Les 29 byte: “Hei fra hei.txt -fil

Som du ser, leser vi nøyaktig 29 byte fra filen.

Hvis vi prøver å åpne en fil som ikke eksisterer, returnerer funksjonen en feil som vist:

Fil, feil: = OS.Åpne ("Info.tekst")

Feilutgang:

Åpen informasjon.TXT: Systemet finner ikke den spesifiserte filen.
Avslutt status 1

OS.Åpen fil()

OpenFile () -metoden lar deg åpne en fil med det spesifiserte flagget. Slike flagg inkluderer:

  1. O_rdonly- Skrivebeskyttet modus.
  2. O_wronly. Åpner fil i kun skrivemodus.
  3. O_rdwr-Åpne filen i lese-skrivemodus.
  4. O_append-Legger data til filen når du skriver.
  5. O_TRUCC-Avkort filen når det åpnes, der det er aktuelt.
  6. O_SYNC - Åpne filen for synkron I/O.
  7. O_create - Opprett en fil hvis den ikke eksisterer.

Du kan spesifisere et hvilket som helst flagg når du åpner en fil basert på dine krav.

Hvis du kaller OpenFile () -metoden med O_Create -flagget, hvis filen ikke eksisterer, opprettes den med modusstillatelse før Umask.

Eksempel:

Fil, feil: = OS.OpenFile ("Ny.TXT ", OS.O_RDWR | OS.O_create, 0777)
Hvis feil != nil
Logg.Fatal (feil)

Hvis feil: = fil.Lukk(); feil != nil
Logg.Fatal (feil)

I eksemplet over bruker vi OpenFile () -metoden for å åpne en fil i lese-/skrivemodus som spesifisert av OS.Rdwr () flagg. Vi spesifiserer også OS.O_create flagg for å opprette filen hvis den ikke eksisterer.

Legg merke til at vi også spesifiserer tillatelse fra 0755.

Hvis vi kjører koden over, skal den opprette fil som heter New.tekst.

$ ls -la
-RW-R-R-- 1 Csalem 197121 0 24. januar 15:00 Ny.tekst

Konklusjon

Denne guiden lærte oss hvordan vi kan åpne og lese filer i Go ved å bruke Open and OpenFile () -metodene. Utforsk dokumentasjonen for å lære mer.

Takk for at du leste!