Galera, estou lendo um arquivo txt selecionado pelo usuário e salvando no banco de dados em bytes.
arquivoLote.setImagemArquivoRejeitado(file.getContents());
Porém, agora preciso verificar se os seriais são válidos ou inválidos e separá-los para salvar no banco. Ou seja, terei que salvar duas vezes.
Como eu poderia fazer isso?
Já experimentou ler o arquivo?
Então drsmachado, a minha dúvida é se eu tenho que salvar os 2 arquivos separados em algum diretório, pra depois salvá-los no banco de dados em bytes.
Ou poderia fazer isso direto, sem precisar salvar em diretório.
O que vc acha?
Se você tem os bytes em um array de bytes, é plenamente possível transformar isso em um BufferedReader (InputStreamReader (ByteArrayInputStream))) e ler linha por linha (readLine) a informação.
Então, acho que eu não expliquei direito. O arquivo é este:
3515970bv5166211;20121373863654
35884bn604029945;20121375518704
cz357vb92
d5zsd8pp
Nesse arquivo, os 2 primeiros seriais são válidos. E os 2 últimos são inválidos.
Portanto, terei que criar 2 arquivos: o 1º arquivo terá os seriais válidos e o 2º arquivo terá os seriais inválidos.
Então eu salvo esses 2 arquivos em txt mesmo em algum diretório. E depois tenho que ler os arquivos novamente pra salvar no banco de dados em bytes.
Porque depois o usuário poderá fazer download deles, entendeu
A minha dúvida é apenas se eu preciso salvá-los no diretório mesmo ou posso fazer isso direto?
Que tal você ler esse arquivo separar os seriais validos e inválidos em arrays, depois você cria 2 arquivos(nao precisa salvar no diretório existem classes para criar um File temporario File.createTempFile)e escreve nesses 2 arquivos os conteúdos desejados(usando BufferedWriter) apos isso segue a ideia do nosso amigo,
‘entanglement’:
"Se você tem os bytes em um array de bytes, é plenamente possível transformar isso em um BufferedReader (InputStreamReader (ByteArrayInputStream))) e ler linha por linha (readLine) a informação. "