Java - AYUDA URGENTE POR FAVOR!!!!!

 
Vista:

AYUDA URGENTE POR FAVOR!!!!!

Publicado por javier (9 intervenciones) el 09/03/2002 15:36:42
hola a tod@s,necesito vuestra ayuda urgentemente(si es posible ayuda con algo de codigo por favor). Necesito hacer un programa con JAVA que se este ejecutando siempre y que compruebe si hay algun cambio en un directorio, es decir, en un directorio tengo unos ficheros que van a ser insertados en una base de datos pero de vez en cuando llegan ficheros nuevos y automaticamente se deben insertar por lo que necesito un programa que este continuamente comprobando si llegan ficheros nuevos.

Otra duda, ¿cómo puedo mover esos a otro directorio un avez hallan sido insertados?

Gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA URGENTE POR FAVOR!!!!!

Publicado por juan carlos zorzi (22 intervenciones) el 10/03/2002 05:25:16

Hola!, una manera de resolver tu problema es contando el numero de filas que hay en tu directorio cada cierto tiempo y comparandolas con el resultado de la vez anterior.
Para correr procesos cada cierto tiempo usas en unix el 'crontab'.
El programa es mas o menos asi:
import java.io.*;
import java.util.*;

public class Test1 {

static void contarFilas2(File f, List list) {
if (f.isDirectory()) {
String entries[] = f.list();
int maxlen = (
entries == null ? 0 : entries.length);
for (int i = 0; i < maxlen; i++) {
contarFilas2(
new File(f, entries[i]), list);
}
}
else if (f.isFile()) {
list.add(f.getPath());
}
}

static List contarFilas(String fn) {
List list = new ArrayList();
contarFilas2(new File(fn), list);
return list;
}

public static void main(String args[]) {

List lista = contarFilas(args[0]);
// for (int i = 0; i < lista.size(); i++) {
// System.out.println(lista.get(i));
// }
System.out.println(
"numero de filas = " + lista.size());
}
}

Lo corres con: java Test1 /home/juanz/ (UNIX)
java Test1 C:\ (windows)

El programa lo tendras que modificar si, ese sera tu trabajo.


Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar