¿Dónde está la referencia definitiva sobre el formato de cadenas?

¿Alguien sabe de un buen recurso en línea que explique simple y definitivamente cómo usar el método del formateador de cadenas ...?

Necesito escribir una serie de "registros" en un conjunto de archivos de texto ascii. Necesito "delimitar" cada "registro" con una secuencia cr-lf en un entorno de servidor de Windows 2008. Por lo tanto, estoy tratando de averiguar cómo agregar una cadena de caracteres \ r \ n al final de cada "registro". Probé un "record_string.append (CR) y LF"; pero no funcionó.

Gracias mucho

Chico

preguntado el 16 de mayo de 11 a las 19:05

3 Respuestas

Si necesita agregar específicamente CR LF al final de cada registro (retorno de carro, salto de línea), entonces puede usar exactamente \r\n. El \r se traduce en un retorno de carro, y \n al salto de línea. Por ejemplo:

StringBuilder sb = new StringBuilder();
sb.append("some data");
// ...
sb.append("\r\n");  // add CR LF record separator

Puede encontrar la lista exacta de secuencias de escape que existen en Java en sección 3.10.6 de la Especificación del lenguaje Java.

contestado el 17 de mayo de 11 a las 00:05

La documentación sobre el Formatter la clase parece ser completa.

Tiene esto que decir sobre los separadores de línea:

Separador de línea

La conversión no corresponde a ningún argumento.

'n': el separador de línea específico de la plataforma como lo devuelve System.getProperty("line.separator"). Las banderas, el ancho y la precisión no son aplicables. Si se proporciona alguna, se lanzará una IllegalFormatFlagsException, IllegalFormatWidthException e IllegalFormatPrecisionException, respectivamente.

Respondido el 20 de junio de 20 a las 12:06

Tenga en cuenta que System.getProperty("line.separator") devuelve los caracteres separadores de línea predeterminados para el sistema en el que se ejecuta el programa. En Mac OS X o Linux, lo más probable es que devuelva una cadena con solo un salto de línea; en Windows devolverá una cadena con CR LF. Si específicamente necesita insertar siempre CR LF, no use esto; simplemente inserte CR LF en la cuerda usted mismo. - Jesper

Simplemente haz lo siguiente: record_string = record_string + "\ n"

en widnows \ n significa CR-LF

O puede usar FileWriter para usar writeLine (registro);

contestado el 16 de mayo de 11 a las 23:05

'en Windows \ n significa CR-LF'. No, no lo hace. Significa un avance de línea, en todas partes. - user207421

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.