Boa tarde pessoal,
Tentei, Tentei muitas vezes mas praticamente não sai do ZERO, portanto, nem é viável postar aqui o que conseguir fazer. O objetivo desta atividade é o de fixar conceitos de interoperabilidade por troca de arquivos, ai vai o exercício que tenho que fazer.
o programa 1 gere um arquivo texto a partir de dados informados pelo usuário. Esse arquivo deverá
ser lido pelo programa 2, que exibirá seu conteúdo em tela e gerará um novo arquivo
texto com o resultado de operações sobre o primeiro arquivo. O novo arquivo gerado
deverá ser lido pelo programa 3, que também exibirá ser conteúdo em tela;
Obrigado!
Boa tarde Douglas, cara, não é muito difícil não. Como você não mandou o código, não tem como auxiliar em cima do que você fez.
No primeiro programa vc usa isso: https://www.devmedia.com.br/criando-e-gravando-dados-em-txt-com-java/23060
No segundo você vai ler e gerar, então o link de cima + esse: https://www.devmedia.com.br/lendo-dados-de-txt-com-java/23221
E no terceiro programa vc só vai ler: https://www.devmedia.com.br/lendo-dados-de-txt-com-java/23221
Boa tarde Abner,
apresenta um erro: (Resource leak: ‘ler’ is never closed) em Scanner ler = new Scanner(System.in);
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Exemplo {
public static void main(String[] args) throws IOException {
Scanner ler = new Scanner(System.in);
int i, n;
System.out.printf("Informe o número para a tabuada:\n");
n = ler.nextInt();
FileWriter arq = new FileWriter("d:\\tabuada.txt");
PrintWriter gravarArq = new PrintWriter(arq);
gravarArq.printf("+--Resultado--+%n");
for (i=1; i<=10; i++) {
gravarArq.printf("| %2d X %d = %2d |%n", i, n, (i*n));
}
gravarArq.printf("+-------------+%n");
arq.close();
System.out.printf("\nTabuada do %d foi gravada com sucesso em \"d:\\tabuada.txt\".\n", n);
}
}
Uma boa dica para tratar problemas complexos é você “quebrar” o problema em pedaços menores, “resolvíveis”.
Veja, você têm 4 problemas aí:
- Ler os dados inseridos pelo usuário
- Gravar esses dados em um arquivo
- Ler esse arquivo
- Exibir os dados lidos
Fica mais fácil ir por etapas. Primeiro, concentre-se em ler os dados. Feito isso, passe para gravar os mesmos no arquivo.
Só neste momento você foca em “escutar” (listen) o local onde os arquivos são salvos e, então, ler o conteúdo do mesmo.
Por fim, com os dados já lidos, você finalizar com a apresentação dos mesmos.
Se você não vai ler mais nada, invoque o método close do objeto ler
ler.close();
Existem razões para receber um “Access Denied”:
- O usuário que está executando a aplicação/sistema não possui permissão de escrita no diretório requerido
- O arquivo está em uso por outra aplicação.
Ou seja, você precisa conceder permissão de escrita para o arquivo e certificar-se de que ninguém está acessando o mesmo (não está aberto por outro sistema).