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!!