
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


0