Integração de sistemas via troca de arquivos

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).