Una aplicación Java envía un XML a una aplicación Python. Ambos están en la misma máquina. Cuando abro el archivo recibido, puedo ver líneas adicionales (debido a CR adicionales). ¿Cuál podría ser la razón de ésto?Python agrega un CR adicional al final de las líneas recibidas
Este es el receptor:
f = open('c:/python/python.xml', 'w')
while 1:
print("xxx")
data = socket.recv(recv_frame)
remain_byte = remain_byte - len(data)
print(remain_byte)
f.write(data)
if (something):
break
Este es el remitente:
while ((bytesRead = file_inp.read(buffer)) > 0) {
output_local.write(buffer, 0, bytesRead);
}
Este es el archivo original:
<root><CR><LF>
<SONG><CR><LF>
<ARTIST>Coldplay</ARTIST><CR><LF>
</SONG><CR><LF>
</root><CR><LF>
Ésta es la recibió:
<root><CR>
<CR><LF>
<SONG><CR>
<CR><LF>
<ARTIST>Coldplay</ARTIST><CR>
<CR><LF>
</SONG><CR>
<CR><LF>
</root><CR>
<CR><LF>
¿En qué sistema operativo se ejecutan las aplicaciones? ¿Es Windows? – gbulmer
es Windows 7. – markAnthopins
¿Está mirando el archivo "c: /python/python.xml"? En Windows, algunas de las bibliotecas C realizan el proceso de retorno de carro/avance de línea para hacer que los archivos UNIX sean compatibles con los archivos de Windows. Unix solo usa un caracter para la separación de línea (\ n), pero Windows usa cr + lf. Entonces, es casi posible que dos conjuntos de procesamiento (Java y Python) estén expandiendo un separador de línea a dos, – gbulmer