Caros leitores, resolvi escrever esse post porque não achei muito material referente a essa tecnologia. Logo, espero ajudar e contribuir a todas as pessoas que precisam de uma ajuda e não conseguiu encontrar.
A API JFileHelper serve para processamentos de texto e no meu caso foi usado para processar arquivos do formato txt mas, não sei, se é possível processar arquivos em outros formatos. Acredito que não pois, no site da API não diz nada sobre isso.
Nesse post serão usados os exemplos do site da API, a fim de facilitar o processo de aprendizagem. É possível processar texto com diferentes formatos. Quando digo formatos, quero dizer que a API suporta arquivos em que seus campos estão separados por algum caracter (, | . ; -) ou espaçamento.
Não irei abordar aqui todo o poderio que a API possui. Caso queira tal conhecimento, aconselho que visite o site oficial:
http://jfilehelpers.com/
No nosso exemplo, usaremos um arquivo em que seus campos possuem tamanho fixo. Segue abaixo:
Os pontinhos representam a quantidade de posições que cada campo possui. Para tal arquivo de texto, precisaremos construir uma classe com a seguinte estrutura.
Agora vamos às explicações e curiosidades.
@FixedLengthRecord() -> Determina que está classe irá lidar com arquivos de tamanho fixo.
@FieldFixedLength(inteiro) -> Determina que o atributo marcado terá somente o número de posições especificadas na anotação.
@FieldAlign(alignMode=AlignMode.Right) -> Determina que o campo marcado será alinhado à direita quando for retirado do texto. Para mais informações, visitar o seguinte site:
https://github.com/fcoury/jfilehelpers/blob/master/Source/src/org/coury/jfilehelpers/enums/AlignMode.java
@FieldTrim(trimMode=TrimMode.Right) -> Determina que o campo marcado terá seus espaços em branco retirados à direita. Para mais informações, visitar o seguinte site:
https://github.com/fcoury/jfilehelpers/blob/master/Source/src/org/coury/jfilehelpers/enums/TrimMode.java
@FieldConverter(converter = ConverterKind.Date, format = "dd-MM-yyyy") -> Determina que o campo será convertido para a classe especificada no atributo converter e no formato especificado no atributo format. Para mais informações, visitar o seguinte site:
https://github.com/fcoury/jfilehelpers/blob/master/Source/src/org/coury/jfilehelpers/annotations/FieldConverter.java
https://github.com/fcoury/jfilehelpers/blob/master/Source/src/org/coury/jfilehelpers/enums/ConverterKind.java
@FieldOptional -> Determina que o campo será opcional.
@FieldIgnored -> Determina que o atributo marcado será ignorado no processamento do texto.
CURIOSIDADE: A API funciona de forma posicional, ou seja, a ordem dos atributos é importante. No nosso exemplo, possuíamos o atributo name, o qual era precedido pelo atributo custId. No arquivo esta ordem deve ser mantida e vice-versa.
Caro leitor, se você possuir algum conhecimento sobre tal tecnologia ou, notar que cometi algum erro, sendo primário ou não, enriqueça-nos com seu comentário abaixo.
Nenhum comentário:
Postar um comentário