एक जावा एप्लिकेशन एक पायथन एप्लिकेशन में एक एक्सएमएल भेजता है। वे दोनों एक ही मशीन पर हैं। जब मैं प्राप्त फ़ाइल खोलता हूं तो मैं अतिरिक्त लाइनें देख सकता हूं (अतिरिक्त सीआर के कारण)। इसका क्या कारण रह सकता है?पाइथन प्राप्त लाइनों के अंत में एक अतिरिक्त सीआर जोड़ता है
while ((bytesRead = file_inp.read(buffer)) > 0) {
output_local.write(buffer, 0, bytesRead);
}
यह मूल फ़ाइल है:
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
यह इस प्रकार है:
यह रिसीवर है
<root><CR>
<CR><LF>
<SONG><CR>
<CR><LF>
<ARTIST>Coldplay</ARTIST><CR>
<CR><LF>
</SONG><CR>
<CR><LF>
</root><CR>
<CR><LF>
:
<root><CR><LF>
<SONG><CR><LF>
<ARTIST>Coldplay</ARTIST><CR><LF>
</SONG><CR><LF>
</root><CR><LF>
यह प्राप्त है
एप्लिकेशन किस ऑपरेटिंग सिस्टम पर चल रहे हैं? क्या यह खिड़कियां है? – gbulmer
यह विंडोज़ 7 है। – markAnthopins
क्या आप "c: /python/python.xml" फ़ाइल देख रहे हैं? विंडोज़ पर, सी सी पुस्तकालयों में से कुछ यूनिक्स फ़ाइलों को विंडोज फाइलों के साथ संगत बनाने के लिए कैरिज-रिटर्न/लाइन-फीड प्रोसेसिंग करते हैं। यूनिक्स केवल लाइन अलगाव (\ n) के लिए एक वर्ण का उपयोग करता है, लेकिन विंडोज cr + lf का उपयोग करता है। तो यह लगभग संभव है कि प्रसंस्करण के दो सेट (जावा और पायथन) एक लाइन विभाजक को दो, – gbulmer