Programación General > Java
como borrar saltos de linea en un archivo
cypres_snk:
El codigo qeu tengo ingreso desde el teclado cadenas
si pongo algo como:
Java es un lenguaje de programacion de alto nivel
Ensamblador es un lenguaje de bajo nivel
lo qeu busco qeu en el archivo me pararezca asi:
Java es un lenguaje de programacion de alto nivel
Ensamblador es un lenguaje de bajo nivel
sin los saltos de linea
TEngo el siguiente codigo
--- Citar ---try
{
while(eleccion=='s')
{
System.out.println("Ingrese linea de codigo: ");
linea=ent.nextLine();
StringTokenizer tokens=new StringTokenizer(linea," ");
while(tokens.hasMoreTokens())
{
bw.write(tokens.nextToken()+" ");
}
bw.write("n");
System.out.println("¿Desea ingresar otra linea de codigo? s/n ");
eleccion=(char)System.in.read();
System.in.skip(System.in.available());
}
}
catch(EOFException e)
{}
bw.close();
--- Fin de la cita ---
Si ingreso espacione en blanco como:
Java es un lenguaje de alto nivel
con el objeto de StringTokenizer me quita los espacion el blanco mas no los saltos de linea
saludos y espero me puedan ayudar
m0skit0:
Dado que el salto de línea siempre es al final de la línea (obvio), usa la clase StringBuffer y el método deleteCharAt().
cypres_snk:
ya acomode un poco el codigo y lo tengo algo asi
--- Citar ---public static void escribe_archivo()throws IOException
{
char eleccion='s';
Scanner ent = new Scanner(System.in);
PrintWriter pw = new PrintWriter(new FileWriter("Maggot.sic"));
try
{
while(eleccion=='s')
{
System.out.println("Ingrese linea de codigo: ");
linea=ent.nextLine();
StringTokenizer tokens=new StringTokenizer(linea," ");
while(tokens.hasMoreTokens())
{
try
{
pw.print(tokens.nextToken().replaceAll("n"," "));
}
catch(NoSuchElementException e)
{}
}
pw.println();
System.out.println("¿Desea ingresar otra linea de codigo? s/n ");
eleccion=(char)System.in.read();
System.in.skip(System.in.available());
}
}
catch(EOFException e)
{}
pw.close();
}
}
--- Fin de la cita ---
en esta linea: pw.print(tokens.nextToken().replaceAll("n"," "));
indico qeu si tiene un salto de linea lo borre
si pongo: pw.print(tokens.nextToken()+" ")
indico qeu ponga despues del token un espacion en blanco
Como le hago para poner las dos cosas a la misma ves???
en si lo que busco que qeu al ingresar una cadena me le quite los espacios en blanco y solo me deje uno solo y me quite los saltos de linea
ocupo ayuda,,
Gracias de antemano
m0skit0:
--- Cita de: "cypres_snk" ---en esta linea: pw.print(tokens.nextToken().replaceAll("n"," "));
indico qeu si tiene un salto de linea lo borre
--- Fin de la cita ---
No, indicas que convierta todos los saltos de línea en espacios.
--- Cita de: "cypres_snk" ---Como le hago para poner las dos cosas a la misma ves???
--- Fin de la cita ---
Muy fácil:
--- Código: Java ---String linea = tokens.nextToken();linea.replaceAll("n"," ");linea = linea + " ";pw.print(linea);
PD: en el foro, no uses "Quote" para el código, usa "Code".
cypres_snk:
Tengo otro problema que no entiendo
Si pongo
linea.replaceAll("t"," ");
FUNCIONA
pero si pongo
linea.replaceAll("n","");
NO FUNCIONA
nomas me quita los tabuladores pero los saltos de linea no hace nada
Gracias por toda la ayuda
Navegación
[#] Página Siguiente
Ir a la versión completa