Descrição
Classe de auxílio de leitura de arquivo texto, por linhas.
Lê sempre um buffer fixo, permitindo leitura de linha sem honerar o IO.
Essa classe permite transformar o arquivo inteiro em um array de linhas, pelo método getAllLines.
Permite leitura de CRLF, LF ou conforme parâmetro enviado no método New.
Lembre-se sempre de utilizar o método Close, ao fechar o arquivo.


Exemplo
Static function LeArquivo(cFile)
Local oFile
oFile := FWFileReader():New(cFile)
if (oFile:Open())
   while (oFile:hasLine())
      Conout(oFile:GetLine())
   end
   oFile:Close()
endif

Return



New

Sintaxe
FWFILEREADER():New(<cFileName >)-> NIL

Descrição
Método construtor da classe

Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
cFileNameCaracteresNome do arquivo, deve-se informar o path completo
X
xBreakLineCaracterQuebra de linhaNil


GetLine

Sintaxe
FWFILEREADER():GetLine(<lRetunCr >)-> cLine

Descrição
Efetua a leitura de uma linha do arquivo, é esperado \n ou \r\n.

Parâmetros


NomeTipoDescriçãoDefaultObrigatórioReferência
lRetunCrLógicoSe .t. retorna na string o caracter de pulo de linha, default é .f..F.X


Retorno
cLine Linha lida
EOF

Sintaxe
FWFILEREADER():EOF()-> lEOF

Descrição
Retorna .T. se o arquivo estiver em EOF (End of File)
Este método só deve ser utilizado caso estiver fazendo a leitura via método Read,
Caso esteja lendo via Getline utilize o método hasLine() para saber se já foi lido
todo o arquivo.

Retorno
lEOF .T. se estiver em EOF
getAllLines

Sintaxe
FWFILEREADER():getAllLines()-> aLines

Descrição
Retorna todas as linhas do arquivo em um Array unidimensional

Retorno
aLines Array Contendo as linhas
getFileSize

Sintaxe
FWFILEREADER():getFileSize()-> nSize

Descrição
Retorna O tamanho do arquivo em bytes

Retorno
nSize Tamanho do arquivo em bytes
getBytesRead

Sintaxe
FWFILEREADER():getBytesRead()-> nSize

Descrição
Retorna o numero de bytes lido ate o momento, esta função retorna o
que foi lido ao buffer, ou seja, aquilo que foi lido via FRead

Retorno
nSize Quantidade de bytes lido ate o momento
hasLine

Sintaxe
FWFILEREADER():hasLine()-> lHasLine

Descrição
Retorna .T. se o arquivo estiver linhas a serem lidas no arquivo ou no buffer
interno.
Este método equivale ao EOF quando estamos utilizando leitura por byte

Retorno
lHasLine Se .T. ainda temos linhas no arquivo para serem lidas

fullRead


Sintaxe
FWFILEREADER():fullRead()-> cBuffer

Descrição
Efetua a leitura completa do arquivo

Retorno
cBuffer Conteúdo do arquivo lido


Observação
Esse método deve ser utilizado com cautela, visto que a leitura completa de um arquivo pode extourar o limite de string (MAXSTRINGSIZE) do appserver



  • Sem rótulos