Java - ayuda con archivos en java

   
Vista:

ayuda con archivos en java

Publicado por andres (1 intervención) el 05/12/2013 22:25:16
Hola a todos, tengo un problema con un programa que estoy implementando en java (trabajo de la universidad) lo que tiene que hacer el programa es leer un archivo nombres.txt, después de leer el archivo tengo que buscar un nombre en ese archivo, Si el nombre esta se tiene que copiar a otro archivo llamado Copia.txt, Si el nombre no esta solo tiene que volver a pedirlo. Ya implemente todos lo métodos pero no se me copia el nombre en el archivo Copia.txt. Gracias


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import java.io.*;
import java.util.*;
import javax.swing.*;
 
public class Archivos3 {
static Vector nombres = new Vector();
static BufferedReader entrada;
static FileWriter salida =null;
static String nombreCopiar = null;
 static String linea;
static File archivo = new File("src/archivos/nombres.txt");
 
    public static void main(String[] args) {
        leerArchivo(nombres);
        buscarNombre(nombres);
        copiaArchivo(nombres);
 
    }
     public static void copiaArchivo(Vector n){
       try {
 
            salida=new FileWriter("Copia.txt");
            if(buscarNombre(n)==1){
                salida.write(nombreCopiar);
 
            }
            else if (buscarNombre(n)==2){
                JOptionPane.showMessageDialog(null, "el nombre no se encuentra");
                buscarNombre(nombres);
            }
 
 }catch (IOException ex) {
 System.out.println(ex);
 }finally{
//cerrar los flujos de datos 
 if(entrada!=null){
 try{
 entrada.close();
 }catch(IOException ex){}
 }
 if(salida!=null){
 try{
 salida.close();
 }catch(IOException ex){}
 }
 System.out.println("el bloque finally siempre se ejecuta");
 }
 
 try {
//espera la pulsación de una tecla y luego RETORNO 
 System.in.read();
 }catch (Exception e) {
 }
 }
 
 
    //leo el archivo y lo meto en un Vector
    public static void leerArchivo(Vector n)  {
        try {
        entrada = new BufferedReader(new FileReader(archivo));
        while (entrada.ready()) {
        linea = entrada.readLine();
         n.add(linea);
         }
         }catch (IOException ex) {
    System.out.println(ex);
        } finally {
//cerrar los flujos de datos 
            if (entrada != null) {
                try {
                    entrada.close();
                } catch (IOException ex) {
                }
            }
            System.out.println("el bloque finally siempre se ejecuta");
        }
    }
    //busco en el Vector si el nombre se encuentra
  public static int buscarNombre(Vector n){
        String x = JOptionPane.showInputDialog(null, "ingrese el nombre");
        int c = 0;
        try {
            int pos = n.indexOf(x);
            if (x.equals(n.elementAt(pos)) && (pos > -1)) {
                System.out.println(n.elementAt(pos));
                nombreCopiar = (String) n.elementAt(pos); //hago casting para pasar de objeto a String.
                c=1;
 
            }
            else{
                nombreCopiar = null;
                 c=2;
            }
        } catch (Exception e) {
            System.out.println("nombre no esta");
 
        }
 
        return c;
 
}
    }
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