Criar chat em java usando manipulação de arquivo

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.:grin:

Porque precisa usar arquivos? Não faz sentido.

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.

Tayna_Santos, alguns pontos para sua postagem:

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:

  1. O que você precisa fazer?
  2. O que você já fez?
  3. O que você deve usar para isso?
  4. 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 :slight_smile:

2 curtidas