:?: Estou lendo um arquivo txt para realizar a criptografia digital, de acordo com o PAF-ECF. Gostaria de saber se o método abaixo consegue ler os espaços vazios e enter. A criptografia contará os espaços vazios e enter junto com o conteúdo.
privatevoidlerArquivo(){try{FileReaderreader=newFileReader("c:\\EspelhoMFD.TXT"); BufferedReader leitor = new BufferedReader(reader); String linha = "";while(leitor.ready()){linha+=leitor.readLine();}leitor.close();reader.close();this.arquivo=linha;}catch(Exceptionexc){exc.printStackTrace();}}
Não; para efeitos de criptografia, trabalhe com arrays de bytes e FileInputStream.
R
ricardoluizv
A criptografia está tranqüilo, eu não sei se utilizando aquele método consigo passar para o atributo this.arquivo os espaços e as quebras de linhas.
R
roger_rf
Você está acumulando as linhas lidas do arquivo na variável linha sem usar qualquer caractere delimitador. Assim, você vai perder as quebras de linha e linhas vazias.
R
roger_rf
Ah, sim: como você está acumulando o conteúdo do arquivo numa única variável, pode haver problemas quando o arquivo for muito grande. É melhor processar essas informações por blocos, para aproveitar melhor a memória disponível.
R
ricardoluizv
Você pode citar para mim algum delimitador em Java para eu passar as quebras de linha e os espaços vazios para a variável.
R
roger_rf
Reforço a dica do thingol para que você use arrays de bytes e FileInputStream, pois ao fazer isso você simplesmente não precisará se preocupar com o conteúdo do arquivo. Se você realmente quiser usar um delimitador, uma opção possível é \r\n (a clássica quebra de linha dos ambientes MS-DOS e Windows), mas gostaria de deixar bem explícito que considero que esse NÃO é o melhor caminho.
R
ricardoluizv
Para eu passar os valores em blocos vou precisar saber a quantidade de bytes contidos no arquivo, certo? E como faço isso?