programacion grafica

Iniciado por andaluz, 17 Mayo 2010, 19:12 PM

0 Miembros y 1 Visitante están viendo este tema.

andaluz

tengo que realizar un programa que seleccionando unos ficheros de una carpeta por su extension me los borre, me gustaria saber come puedo implementar el metodo de borrar para realizar esta accion.

andaluz

otro pequeño problema es este:

Código (java) [Seleccionar]

if(ruta.equals(!enc))


en el que ruta es un String y enc es boolean. me dice que los tipos son incompatibles y si pongo == tambien me da fallo. de que manera lo podria poner??

we4rt

Hola pura vida!!!

para la 2° pregunta podría probar algo como esto:

Código (java) [Seleccionar]
if(ruta.equals(String.valueof(enc)))

String.valueof(), esa función lo que hace es convertir una expresión o valor a cadenas de caracteres, de esa forma podrías hacer la comparación.

para la 1° pregunta:

no se si ya probaste el método "delete()" de la clase "File"?
o la pregunta iba enfocada a otra cosa?

andaluz

lo he probado, pero yo tengo que meter una futa a de una carpeta y dentro de esa carpeta hay varios ficheros, con diferentes extensiones, si quiero borrar los ficheros que tengan una extension concreta, ej: "*.txt", como lo tendria que poner??

we4rt

#4
Podrías probar algo así=

Código (java) [Seleccionar]

private void borrar(String ruta){
       try{
           File directorio= new File(ruta);

           for(File f : directorio.listFiles()){
               if(f.isFile() && f.getName().endsWith(".txt")){
                   f.delete();
               }else if(f.isDirectory()){
                    borrar(f.getPath());
               }
           }

       }catch(FileNotFoundException fnfe){
           // manejo error
       }catch(IOException ioe){
           // manejo error
       }
   }

andaluz

#5
una duda??
puede haber un try{}catch(){} y dentro otro, de esta manera??

hay una linea que me da un error, le he comentado // por que me da este error, aver si me pueen ayuar

Código (java) [Seleccionar]

       File f1;
       File directorio;
       FileWriter fw;
       InputStreamReader isr;
       BufferedReader br;

       try
       {
           f1=new File("eliminados.txt");
           fw=new FileWriter(f1);

           if(this.chkInforme.isSelected())
           {
               this.cmbTipoInforme.setEnabled(true);
           }
           if(this.chkTemporales.isSelected())
           {
               try
               {
                   File directorio=new File(ruta); // porque me da este error esta linea??

                   for(File f:directorio.listFiles())
                   {
                       if(f.isFile() && f.getName().endsWith(".txt, .tmp, .ini"))
                       {
                           f.delete();
                           fw.write("\nSe han eliminado los ficheros temporales.");
                       }
                       else
                       {
                           fw.write("\nNo se han eliminado los ficheros temporales.");
                       }
                   }
               }
               catch(Exception ex)
               {

               }
               //f1.delete("*.tmp,*.dat,*.ini");
               
           }
           else
           {
               if(this.chkTexto.isSelected())
               {
                   fw.write("\nSe han eliminado los ficheros de texto.");
               }
               else
               {
                   if(this.chkMultimedia.isSelected())
                   {
                       fw.write("\nSe han eliminado los ficheros de multimedia.");
                   }
                   else
                   {
                       if(this.chkWeb.isSelected())
                       {
                           fw.write("\nSe han eliminado los ficheros de web.");
                       }
                       else
                       {
                           if(this.chkProgramas.isSelected())
                           {
                               fw.write("\nSe han eliminado los ficheros de programas.");
                           }
                           else
                           {
                               if(this.chkComprimidos.isSelected())
                               {
                                   fw.write("\nSe han eliminado los ficheros comprimidos.");
                               }
                           }
                       }
                   }
               }
           }
           this.txtRuta.setText("");
           this.chkCualquiera.setSelected(false);
           this.chkTemporales.setSelected(true);
           this.chkTexto.setSelected(false);
           this.chkMultimedia.setSelected(false);
           this.chkWeb.setSelected(false);
           this.chkProgramas.setSelected(false);
           this.chkComprimidos.setSelected(false);
           this.chkInforme.setSelected(true);
       }
       catch(Exception ex)
       {
           System.out.println("Error en la lectura del fichero eliminados.txt "+ex);
       }

we4rt

Lo del try/catch si se puede, pero no le veo la gracia, porque en los 2 les estas manejando con una general y no especifica...

En cuanto al error que te aparece el valor de ruta que es? una dirección o es solo el nombre del archivo? y si es la dirección se están pasando bien los separadores de directorios? por ejemplo para el caso de win: C:\\Archivo y no C:\Archivo.

Pon el mensaje del error...

Y no se si estaré en lo correcto pero creo que esto no te va a funcionar:

Código ( java) [Seleccionar]
if(f.isFile() && f.getName().endsWith(".txt, .tmp, .ini"))

me párese que seria así:

Código ( java) [Seleccionar]
if(f.isFile() && (f.getName().endsWith(".txt") || f.getName().endsWith(".tmp") || f.getName().endsWith(".ini")))

andaluz

gracias por tus consejos we4rt, entonces quitare el try{} catch(){} que esta dentro, ya es verdad, no tiene sentido que uno este dentro de otro, si tengo alguna duda mas lo preguntare por aqui.

we4rt


andaluz

si yo tngo que buscar un directorio a traves de una ruta, como hago para que el programa me dirija a ese directorio??

si en un txtRuta escribo la ruta

c:\directorio

y dentro de la carpeta directorio tengo una serie de ficheros, como puedo hacer para dirigirme a ese directorio para borrar una serie de ficheros??