7
Java应用程序将XML发送到Python应用程序。他们都在同一台机器上。 当我打开收到的文件时,我可以看到多余的行(由于额外的CR)。这可能是什么原因?Python在接收到的行末添加额外的CR
这是接收器:
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
这是发送者:
while ((bytesRead = file_inp.read(buffer)) > 0) {
output_local.write(buffer, 0, bytesRead);
}
原来是这样的文件:
<root><CR><LF>
<SONG><CR><LF>
<ARTIST>Coldplay</ARTIST><CR><LF>
</SONG><CR><LF>
</root><CR><LF>
这是所接收到的:
<root><CR>
<CR><LF>
<SONG><CR>
<CR><LF>
<ARTIST>Coldplay</ARTIST><CR>
<CR><LF>
</SONG><CR>
<CR><LF>
</root><CR>
<CR><LF>
运行的应用程序是什么操作系统?它是Windows吗? – gbulmer 2012-04-11 17:16:11
它是Windows 7. – markAnthopins 2012-04-11 17:17:16
你在看文件“c:/python/python.xml”吗?在Windows上,一些C库执行回车/换行处理以使UNIX文件与Windows文件兼容。 Unix只使用一个字符进行行分隔(\ n),但Windows使用cr + lf。因此,两组处理(Java和Python)将一行分隔符扩展为两个是可能的 - – gbulmer 2012-04-11 17:20:52