Esses arquivos são relatorios emitidos de 15 em 15 minutos por um outro aplicativo.
[i][b]Problema:
Criar um programa que idexe os arquivos da pasta e retorne o ultimo arquivo escrito. Caso o arquivo tenha um tempo superior a 20 min, eu jogo um popup na tela informando:
“Emissor de relatorios parado”.[/b][/i]
[b]Duvidas:
Como eu posso listar todos os arquivos de um determinado diretorio e progredir a busca?
Como posso disparar esse metodo por tempo? (Ex: Rodar a rototina a cada 2 min)[/b]
ou pensar em um script a ser rodado no cron ou um batch no agendador de tarefas fo win…
O método de File para obter a última alteração é lastModified().
fw[/quote]
Não precisa ser tão complexo, não terei que fazer busca recursiva.
O unico problema que sobrou é que a pasta não está na maquina e sim em um caminho na rede. Como posso armazenar em uma variavel do tipo File, um caminho de arquivo na dere. Sempre que eu coloco \ no inicio ele enfia o c:\ na frente…
Bem, você terá que mapear a unidade de rede e se referir ao caminho mapeado. Por exemplo, se mapeado em Z:
view plaincopy to clipboardprint?
File dir = new File(“z:/relatorios/”);
File dir = new File(“z:/relatorios/”);
[/quote]
Descobri que assim tambem funciona:
File caminho = new File("\\192.168.0.21\arquivo");
Que droga o lastModified(), te devolve a data em milisigundos desde de 1970, que feio, tenho que transformar isso em horario, mas sei que no forum tem um artigo sobre isso…
E eu que tava fazendo um monte de calculo pojistico para isso.
Last one:
tenho duas datas, preciso pegar a diferença entre eles em minutos.
Gente, não liga de eu enxer de perguntas não ta. Eu acabo achando depois no google, mas normalmente as soluções postadas aqui são melhores.
No final eu posto o codigo.