Golang OS aberto

Golang OS aberto

Você precisará ler ou escrever arquivos em seus programas quase o tempo todo. Este é um requisito básico que todo programador deve ter debaixo dos cintos. Este artigo abordará como abrir e ler arquivos no Go usando o pacote OS.

Pacote OS do Golang

Para ler e escrever arquivos no Go, precisamos importar o pacote do sistema operacional. Você pode importá -lo usando a palavra -chave de importação, como mostrado abaixo:

importar "os"

Uma vez importado, você pode executar operações de arquivo sem erros.

OS.Abrir()

Antes de usar o método open () para abrir e ler o arquivo, vamos preparar nosso ambiente. Crie um diretório de trabalho:

mkdir read_file

Navegue até o diretório e crie um arquivo de texto:

CD read_file
toque olá.TXT

Depois de termos um arquivo de texto para ler, abra -o com seu editor de texto favorito e adicione algum conteúdo:

$ vim Olá.TXT
"Olá do olá.arquivo txt "

Feche e salve o arquivo.

Para abrir e ler o arquivo no Go, crie um arquivo Go e insira o código:

Arquivo, Err: = OS.Aberto ("Olá.TXT")
se err != nil
registro.Fatal (ERR)

Depois de abrirmos o arquivo, podemos ler os dados do arquivo em uma fatia de bytes. Podemos fazer isso usando o método de leitura, que obtém o tamanho do byte como argumento. Um exemplo é como mostrado:

file_data: = make ([] byte, 50)
Conte, err: = arquivo.Leia (file_data)
se err != nil
registro.Fatal (ERR)

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

Nesta seção, usamos o Create uma fatia de bytes. Em seguida, usamos o método read () para ler os dados do arquivo.

Verificamos erros e depois determinamos o número de bytes que lemos no arquivo. Usando o método printf, imprimimos o conteúdo do arquivo.

A saída resultante:

Leia 29 bytes: “Olá do olá.arquivo txt

Como você pode ver, lemos precisamente 29 bytes do arquivo.

Se tentarmos abrir um arquivo que não existe, a função retornará um erro como mostrado:

Arquivo, Err: = OS.Aberto ("informação.TXT")

Saída de erro:

Informações abertas.txt: o sistema não consegue encontrar o arquivo especificado.
status de saída 1

OS.Abrir arquivo()

O método OpenFile () permite abrir um arquivo com a bandeira especificada. Tais bandeiras incluem:

  1. O_RDONLY- Modo somente leitura.
  2. O_wronly. Opende o arquivo apenas no modo de gravação.
  3. O_RDWR-Abra o arquivo no modo Read-Write.
  4. O_APPEND-Anexa dados ao arquivo ao escrever.
  5. O_TRUNC-Truncar o arquivo quando aberto, quando aplicável.
  6. O_SYNC - Abra o arquivo para E/S síncrona.
  7. O_create - Crie um arquivo se não existir.

Você pode especificar qualquer sinalizador ao abrir um arquivo com base em seus requisitos.

Se você chama o método OpenFile () com o sinalizador O_CREATE, se o arquivo não existir, ele será criado com a permissão do modo antes do UMASK.

Exemplo:

Arquivo, Err: = OS.Openfile ("Novo.txt ", os.O_RDWR | OS.O_create, 0777)
se err != nil
registro.Fatal (ERR)

se err: = arquivo.Fechar(); errar != nil
registro.Fatal (ERR)

No exemplo acima, usamos o método OpenFile () para abrir um arquivo no modo de leitura/gravação, conforme especificado pelo OS.Sinalizador rdwr (). Nós também especificamos o sistema operacional.O_create sinalizador para criar o arquivo se não existir.

Observe que também especificamos a permissão de 0755.

Se executarmos o código acima, ele deve criar um arquivo chamado novo.TXT.

$ ls -la
-RW-R-R-- 1 CSALEM 197121 0 JAN 24 15:00 NOVO.TXT

Conclusão

Este guia nos ensinou a abrir e ler os arquivos Go usando os métodos Open e OpenFile (). Explore a documentação para saber mais.

Obrigado pela leitura!