Soo-dejinta Java iyada oo loo marayo boroksi marka getContentLengthLong soo celiso -1
Ka shaqee Content-Length aan la garanayn soo-dejinta Java ee boroksi ah iyada oo aan xogta cabbirka maqan loo qaadan jawaab madhan.
getContentLengthLong() == -1 macneheedu waa in aanay jirin dherer macluumaad la garanayo oo ku jira xogta la heli karo. Sii wad akhrinta qulqulka oo muuji baaqyada la helay ama horumar aan la go'aamin; ha u qaadan jawaab madhan oo ha u qoondeyn bakhaar cabbir taban leh.
long expected = connection.getContentLengthLong();
long received = 0;
byte[] buffer = new byte[8192];
try (InputStream input = connection.getInputStream()) {
int count;
while ((count = input.read(buffer)) != -1) {
output.write(buffer, 0, count);
received += count;
}
}
Xiriirka hore ayaa loo habeeyay oo output waxaa leh wacitaanka. Ku hay waqtiyada xiriirka iyo akhrinta iyo wax kasta oo xaddidaya cabbirka barnaamijka hareeraha wareeggan. Khalad I/O waa soo-dejin guul darro, ma aha dhammaystir guul leh oo baaqyo yar.
Isbarbar dhig dhererrada isla lakabka. Koodhka chunked ee HTTP/1.1 wuxuu beddeli karaa Content-Length oo waxaa furfura hirgelinta HTTP. Boroksi wuu dib u qaabayn karaa. Furfurnaanta ayaa sidoo kale ka dhigi kartaa tirada baaqyada la furay ee barnaamijka mid ka duwan Content-Length la koodhay.
Haddii ay labaduba soo baxaan Transfer-Encoding iyo Content-Length, ha dooran tiro ku habboon: qaabaynta HTTP waxay mudnaan siinaysaa koodhka gudbinta oo waxay isku-darka u qaadataa khalad suurtagal ah. U dhiib falanqayntaas hirgelin waafaqsan.
URL FTP oo mara albaabka HTTP waxay u baahan tahay in la hubiyo dhaqanka URLConnection ee la taaban karo; ma dammaanad qaadinaya in gelitaan kasta oo madax HTTP uu u dhaqmo sida URL HTTP caadi ah JDK kasta. Isticmaal length API oo leh qiime dheer meesha xogta ay muhiim tahay, oo hubi wax-soo-saarka dhammaystiran marka la eego dhererka ama checksum ee dhab ahaan loo baahan yahay. Akhrinta jidhka ma keento in madax hore u maqnaa uu soo muuqdo.