Leia o arquivo

Leia o arquivo
A capacidade de ler arquivos é um bloco de construção para qualquer programa não trivial. Portanto, qualquer programador deve aprender a ler arquivos.

Você terá as habilidades fundamentais para ler o conteúdo do arquivo usando a linguagem de programação GO até o final deste artigo.

Arquivo aberto para leitura

O primeiro método ao ler qualquer arquivo está abrindo -o. Para abrir um arquivo no GO, podemos usar os métodos Open () ou OpenFile () do pacote OS.

Para simplificar, seguiremos o método open ().

O código abaixo mostra a sintaxe para abrir um arquivo usando o pacote OS:

Arquivo, Err: = OS.Aberto ("nome do arquivo")

Por exemplo, para abrir um arquivo chamado “Olá.txt ”No diretório de trabalho atual, podemos fazer:

Arquivo, Err: = OS.Aberto ("Olá.TXT")

Também é bom fechar o arquivo após concluir as operações necessárias. Podemos fechar o arquivo usando o método de fechamento como:

Arquivo de adiamento.Fechar()

Verifique se qualquer operação que você executa no arquivo está localizada no método Open () e Close ().

GOLANG LEIA PROGRA.

Podemos usar vários métodos e técnicas para ler um arquivo em Go. Vamos discutir alguns comuns e mais eficientes.

Leia o arquivo inteiro.

O método mais comum e simplista de leitura é usar o método ReadFile no pacote ioutil. Este método lerá o arquivo inteiro e o armazenará como uma string grande.

Apesar de sua natureza simplista, esse método não é muito eficiente quando se trata de trabalhar com arquivos grandes.

Vamos usar um exemplo para ilustrar o trabalho com o método readfile ().

Comece criando um arquivo chamado “Olá.txt ”em seu diretório de trabalho atual.

$ toque olá.TXT

Em seguida, edite o arquivo com seu editor de texto e adicione o seguinte:

$ vim Olá.TXT
> Olá de olá.TXT

Feche e salve o arquivo.

Agora podemos usar o método readfile () para ler o conteúdo de todo o arquivo como:

Pacote principal
importação (
"FMT"
"io/ioutil"
"registro"
)
func main ()
dados, err: = ioutil.Readfile ("Olá.TXT")
se err != nil
registro.Fatal (ERR)

fmt.Println (string (dados))

O programa acima lerá o arquivo e imprimirá seu conteúdo no console. Observe que precisamos converter os dados em uma string antes de imprimi -los. Caso contrário, você receberá uma fatia de personagens.

Leia o arquivo por pedaços

Outra maneira de ler um arquivo em Go é lê -lo em pedaços. Isso significa que não carregamos todo o conteúdo na memória, mas, em vez disso, corte pequenas seções.

Esta pode ser uma técnica muito boa ao trabalhar com arquivos grandes.

Por exemplo:

Pacote principal
importação (
"Bufio"
"FMT"
"io"
"registro"
"OS"
)
func main ()
Arquivo, Err: = OS.Aberto ("Olá.TXT")
se err != nil
registro.Fatal (ERR)

Arquivo de adiamento.Fechar()
leitor: = bufio.NewReader (arquivo)
Buffer: = Make ([] byte, 8)
para
Leia, err: = leitor.Leia (buffer)
se err != nil
se err != io.Eof
registro.Fatal (ERR)

quebrar

fmt.Println (string (buffer [: leitura]))

No exemplo acima, lemos o arquivo em pedaços de 8 bytes. Lemos os dados no buffer usando o método de leitura usando um loop para um loop. Finalmente, imprimimos o buffer de matriz usando o método println ().

Os pedaços de dados resultantes são mostrados:

$ Go Run
Olá fr
om o h
Ello.TXT
arquivo

Leia a linha de arquivo por linha

Também podemos ler arquivos line por linha usando o pacote bufio. Um exemplo é como mostrado abaixo:

Pacote principal
importação (
"Bufio"
"FMT"
"registro"
"OS"
)
func main ()
Arquivo, Err: = OS.Aberto ("Olá.TXT")
se err != nil
registro.Fatal (ERR)

Arquivo de adiamento.Fechar()
scanner: = bufio.NewsCanner (arquivo)
para scanner.Varredura()
fmt.Println (scanner.Texto())

se err: = scanner.Errar(); errar != nil
registro.Fatal (ERR)

O scanner vai escanear a linha e imprimir uma nova linha sempre que encontrar o caractere \ n.

Leia o arquivo da palavra por palavra

Também podemos usar o método SCANWORD do pacote Bufio para ler a palavra do arquivo por palavra. Um código de exemplo é como mostrado:

Pacote principal
importação (
"Bufio"
"FMT"
"registro"
"OS"
)
func main ()
Arquivo, Err: = OS.Aberto ("Olá.TXT")
se err != nil
registro.Fatal (ERR)

Arquivo de adiamento.Fechar()
scanner: = bufio.NewsCanner (arquivo)
Scanner.Split (Bufio.Scanwords)
para scanner.Varredura()
fmt.Println (scanner.Texto())

se err: = scanner.Errar(); errar != nil
registro.Fatal (ERR)

No exemplo acima, digitalizamos a palavra do arquivo por palavra usando as palavras do Scanwords fornecidas pelo pacote Bufio.

A saída resultante é como:

Olá
de
o
olá.TXT
arquivo

Conclusão

Este guia discute métodos e técnicas comuns para ler arquivos na linguagem de programação Go.

Continue codificando!!