Java - Duda manejo de ficheros java

   
Vista:

Duda manejo de ficheros java

Publicado por marixa marixxa87@outlook.es (3 intervenciones) el 19/01/2016 02:45:39
Hola soy nueva!, disculpen si no me se explicar bien, pero estoy intentando copiar el contenido de un archivo de texto a otro nuevo, dicho contenido es el siguiente:

a,b,c
d,e,f

sCadena contiene cada linea del archivo txt que deseo copiar.
y luego a sCadena lo quiero separar en tokens en un array, el problema es que el siguiente codigo
devuelve:
a,b,c
,d,e,f
,

cuando lo que yo deseo es que lo copie tal cual como estaba
a,b,c
d,e,f

Gracias, y espero respuestas (aunque no se si me explique bien).

1
2
3
4
5
6
7
8
9
10
11
12
while ((sCadena = bf.readLine())!=null) {
String []tokens=sCadena.split(",");
for (int x=0; x<tokens.length; x++) {
 
if(x<2)
salidaCopia.format(tokens[x]+",");
if(x==2){
salidaCopia.format("tokens[x]+"\n\r\n");
}


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

Duda manejo de ficheros java

Publicado por arck (145 intervenciones) el 19/01/2016 11:23:57
No me cuadra lo que pones con la salida que das, en tu código solo saldría a,b,c y ya......

Si vas a poner el código pon código probado o la función entera, así no se tiene que ir parcheando por favor.

Lo que yo hice es esto, espero que te sirva.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) {
		// TODO Auto-generated method stub
		String sCadena = "a,b,c,d,e,f";
		String []tokens=sCadena.split(",");
		Integer x=0;
		for (String letra:tokens) {
 
			if(x<2){
				System.out.print(letra+",");
			x++;
			}else{
				System.out.print(letra+"\n\r\n");
				x=0;
			}
 
		}
	}

da esta salida:
a,b,c

d,e,f

Cambia el system.out por el salidaCopia.format y debería valer.
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

Duda manejo de ficheros java

Publicado por arck (145 intervenciones) el 19/01/2016 13:22:54
jajaaja yo lo hice mal no me di cuenta del while :D
¿La pregunta es la siguiente la linea es la que marca el tamaño o tiene que ser 3 si o si?
Si es 3 el mio funciona si puede variar dependiendo de la linea el mio falla.
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

Duda manejo de ficheros java

Publicado por Marcelo (47 intervenciones) el 19/01/2016 12:47:16
Te dejo una solución similar a la que planteas (con una ligera modificación).

Espero te sirva y cualquier duda me preguntas.

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
try {
            BufferedWriter writer = new BufferedWriter(new FileWriter("Ruta_miNuevoTxt"));//Sustituí los strings por la ruta a tus archivos
            BufferedReader in = new BufferedReader(new FileReader("Ruta_miTxt"));//Sustituí los strings por la ruta a tus archivos
            String line;
            String newLine = "";
            while((line = in.readLine()) != null)
            {
                String [] x = line.split(",");
                for (int i = 0; i < x.length; i++) {
                    if(i < x.length - 1){
                        newLine += x[i] + ",";
                    }else{
                        newLine += x[i];
                    }
                }
                writer.write(newLine);
                newLine = "";
                writer.newLine();
            }
            in.close();
            writer.close();
        } catch (FileNotFoundException ex) {
            // Hago algo si no encuentro el archivo a leer
        } catch (IOException ex) {
            // Hago algo si obtengo algun error al intentar leer o escribir los archivos
        }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Duda manejo de ficheros java

Publicado por marixa (3 intervenciones) el 20/01/2016 22:47:06
Buenisimo me funciono el ultimo codigo, les agradezco la ayuda que me brindaron!!!!
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