/threads-java-folders-analysis

Analisando e observando pastas e arquivos com Threads em Java.

Primary LanguageJava

Arquitetura Piper And Filter

Tecnologias utilizadas

  • Java

Informações Gerais

Monitoring é uma aplicação que monitora pastas do projeto e realiza operações com arquivos e pastas que tem como 3 partes:

- As Thread 1 irá Observar constantemente a Pasta 1;

- Caso exista um arquivo dentro ele irá mover este arquivo para a Pasta 2;

- A Thread 2 atua como observador de conteúdo da Pasta 2, caso exista um arquivo, se não houver nenhum erro de leitura (Ex: arquivo com dados do tipo String), a Thread fará as seguintes operações :

- Ler o arquivo da Pasta 2;

- Realizar um somatório dos dados lidos no presente aquivo lido;

- Salvar os dados (nome do arquivo lido e valor do somatório) no arquivo da Pasta 3, e deletar o arquivo lido da Pasta 2;


Exemplo de execução:

Gif de execução

Características

As classes BufferedReader e FileWriter usadas na aplicação servem, respectivamente, para Leitura e Escrita de dados em arquivo. São componentes (Filters) que conseguem ler e transforma em dados legiveis. A saída será conduzida para o fluxo de entrada atráves dos conectores (Pipes).

Fluxo de dados da Aplicação

Observar a Pasta1 -> Transferir arquivo da Pasta1 para a pasta2 -> Ler o arquivo da Pasta2, realizar somatório, e Salvar os dados no arquivo da Pasta3 -> Deletar arquivo da Pasta2