Golang Os otwarty

Golang Os otwarty

Będziesz musiał prawie cały czas odczytać lub pisać pliki w swoich programach. Jest to podstawowy wymóg, który każdy programista powinien mieć pod pasami. W tym artykule obejmie sposób otwarcia i odczytania plików za pomocą pakietu systemu operacyjnego.

Pakiet Golang OS

Aby odczytać i pisać pliki w Go, musimy zaimportować pakiet systemu operacyjnego. Możesz go zaimportować za pomocą słowa kluczowego importu, jak pokazano poniżej:

Importuj „OS”

Po zaimportowaniu możesz wykonywać operacje plików bez błędów.

OS.Otwarty()

Przed użyciem metody Open () do otwarcia i odczytania pliku, przygotujmy nasze środowisko. Utwórz działający katalog:

mkdir read_file

Przejdź do katalogu i utwórz plik tekstowy:

CD Read_file
Dotknij Hello.tekst

Po przeczytaniu pliku tekstowego otwórz go za pomocą ulubionego edytora tekstu i dodaj trochę treści:

$ vim Hello.tekst
„Witam z Hello.plik txt "

Zamknij i zapisz plik.

Aby otworzyć i odczytać plik w Go, utwórz plik GO i wprowadź kod:

Plik, err: = OS.Otwarte ("Witam.tekst")
Jeśli err != zero
dziennik.Fatalny (err)

Po otwarciu pliku możemy odczytać dane pliku na kawałek bajtów. Możemy to zrobić za pomocą metody odczytu, która przyjmuje rozmiar bajtu jako argument. Przykładem jest jak pokazano:

file_data: = make ([] bajt, 50)
Count, err: = plik.Odczyt (file_data)
Jeśli err != zero
dziennik.Fatalny (err)

fmt.Printf („czytaj %d bajty: %q \ n”, Count, File_Data [: Count])

W tej sekcji używamy Utwórz kawałek bajtów. Następnie używamy metody Read () do odczytu danych pliku.

Sprawdzamy błędy, a następnie określamy liczbę odczytanych bajtów z pliku. Za pomocą metody drukowania drukujemy zawartość pliku.

Wynikowe wyjście:

Przeczytaj 29 bajtów: „Witam z Hello.plik txt"

Jak widać, czytamy dokładnie 29 bajtów z pliku.

Jeśli spróbujemy otworzyć plik, który nie istnieje, funkcja zwraca błąd, jak pokazano:

Plik, err: = OS.Otwórz („Informacje.tekst")

Wyjście błędu:

Otwarte informacje.TXT: System nie może znaleźć określonego pliku.
Status wyjścia 1

OS.Otwórz plik()

Metoda OpenFile () pozwala otworzyć plik z określoną flagą. Takie flagi obejmują:

  1. O_rdonly- Tryb tylko do odczytu.
  2. O_wronly. Otwiera plik w trybie tylko zapisu.
  3. O_RDWR-Otwórz plik w trybie odczytu.
  4. O_APPEND-Dołącza dane do pliku podczas pisania.
  5. O_TRUNC-Obcinaj plik po otwarciu, w stosownych przypadkach.
  6. O_Sync - Otwórz plik dla synchronicznych we/wy.
  7. O_Create - Utwórz plik, jeśli nie istnieje.

Możesz określić dowolną flagę podczas otwierania pliku na podstawie twoich wymagań.

Jeśli wywołasz metodę OpenFile () z flagą O_Create, jeśli plik nie istnieje, jest on tworzony za zgodą trybu przed UMASK.

Przykład:

Plik, err: = OS.OpenFile („Nowy.txt ", OS.O_RDWR | OS.O_Create, 0777)
Jeśli err != zero
dziennik.Fatalny (err)

Jeśli err: = plik.Zamknąć(); błądzić != zero
dziennik.Fatalny (err)

W powyższym przykładzie używamy metody OpenFile (), aby otworzyć plik w trybie odczytu/zapisu, zgodnie z systemem operacyjnym.Flaga rdwr (). Określamy również system operacyjny.O_Create Flag, aby utworzyć plik, jeśli nie istnieje.

Zauważ, że określamy również zgodę 0755.

Jeśli uruchomimy powyższy kod, powinien utworzyć plik o nazwie nowy.tekst.

$ LS -LA
-rw-r-r-- 1 csalem 197121 0 stycznia 24 15:00 NOWOŚĆ.tekst

Wniosek

Ten przewodnik nauczył nas, jak otwierać i czytać pliki za pomocą metod Open i OpenFile (). Zbadaj dokumentację, aby dowiedzieć się więcej.

Dziękuje za przeczytanie!