CRIAR UMA APLICAÇÃO QUE FAÇA UM APLICATIVO (PROG1) CONVERSAR COM OUTRO APLICATIVO(PROG2) DO MESMO COMPUTADOR USANDO PARA ISSO ARQUIVOS.
É COMO SE FOSSE UM CHAT, ONDE PROG1 ESCREVE NA SUA TELA O QUE FOI ESCRITO NA TELA DE PROG1 DEVERÁ APARECER NA TELA DE PROG2. QUANDO PROG1 ESCREVER ELE DEVERÁ FICAR ESPERANDO QUE PROG2 RESPONDA PARA QUE ELE CONTINUE A CONVERSAR.
EM REGRA GERAL, TUDO QUE PROG1 ESCREVE PROG2 VÊ E TUDO QUE PROG2 ESCREVE PROG1 CONSEGUE VER EM SUA PRÓPRIA TELA.
Realmente não faz sentido. Pode fazer o chat usando RMI.
Mas se quer fazer pra teste poderia usar Watch Service API para ser notificado quando um PROG escrever nele.
Path dir = Paths.get("C:\\Users\\user\\Desktop");
WatchService watcher = FileSystems.getDefault().newWatchService();
dir.register(watcher, StandardWatchEventKinds.ENTRY_CREATE, StandardWatchEventKinds.ENTRY_MODIFY);
while (true) {
WatchKey key = watcher.take();
for (WatchEvent<?> event : key.pollEvents()) {
Kind<?> kind = event.kind();
if (kind == StandardWatchEventKinds.OVERFLOW) {
continue;
}
WatchEvent<Path> we = (WatchEvent<Path>) event;
Path fileName = we.context();
if (fileName.toString().equals("chat.txt")) {
// Carregue as informações do arquivo no lugar escolhido
}
if (!key.reset()) {
break;
}
}
}
Com esse código, sempre que uma modificação for feita na pasta especificada você será avisado, porém pode ser avisado se o arquivo alterado for com o nome chat.txt, por exemplo.
Sempre que uma alteração for feita nesse arquivo você será notificado, podendo por exemplo ler os dados desse arquivo nesse momento.
Aqui no GUJ, não é costume (nem objetivo) dos usuários te darem um código pronto que contenha o seu pedido. Aqui é um fórum de ajuda, e para que possamos te ajudar, precisamos que você destaque alguns pontos:
O que você precisa fazer?
O que você já fez?
O que você deve usar para isso?
Qual seu erro, dúvida ou pergunta?
Não são regras universais, mas isso é um exemplo claro do ditado “me ajude a te ajudar”. Do jeito que você falou, pelo menos me pareceu que você não fez absolutamente nada e espera um código ou solução já pronta. Esse não é o caminho para ser um bom desenvolvedor. Te aconselho a pensar um pouquinho, tentar começar pesquisando livrarias para isso e assim ir desenvolvendo seu projeto. Boa sorte