ProHoster > Blog > Rianachd > Luchdaich sìos torrent 16 GB tro tablet le 4 GB de rùm an-asgaidh
Luchdaich sìos torrent 16 GB tro tablet le 4 GB de rùm an-asgaidh
Obair:
Tha PC ann às aonais an eadar-lìn, ach tha e comasach am faidhle a ghluasad tro USB. Tha clàr ann leis an eadar-lìon às an urrainnear am faidhle seo a ghluasad. Faodaidh tu an torrent riatanach a luchdachadh sìos air do bhòrd, ach chan eil àite gu leòr ann an-asgaidh. Tha am faidhle anns an torrent aon is mòr.
An t-slighe gu fuasgladh:
Thòisich mi a luchdachadh a-nuas bho torrent. Nuair a bha an àite an-asgaidh cha mhòr air falbh, stad mi an luchdachadh sìos. Cheangail mi am tablet ris a 'PC agus ghluais mi am faidhle bhon chlàr chun a' PC. Stad mi agus chuir e iongnadh orm chaidh am faidhle a chruthachadh a-rithist agus lean an torrent a’ luchdachadh sìos mar nach biodh dad air tachairt.
Leis gu bheil an neach-dèiligidh torrent a’ suidheachadh a’ bhratach gann don fhaidhle anns a bheil e a’ sgrìobhadh an dàta a fhuaireadh, cha bhith an siostam a’ feuchainn ri 16GB a ghlèidheadh aig an aon àm agus cha tachair mearachd nuair a thathar a’ feuchainn ri sgrìobhadh gu faidhle nas fhaide na 4GB.
Às deidh dhomh an dòigh-obrach ath-aithris ceithir tursan, fhuair mi ceithir faidhlichean air a ’PC agam anns an robh diofar phàirtean den aon torrent. A-nis chan eil air fhàgail ach an cur ri chèile. Tha am modh-obrach gu bunaiteach sìmplidh. Feumaidh tu luach eile a chur an àite nan neoni bytes ma tha e ann an suidheachadh sònraichte ann an aon de na ceithir faidhlichean.
Bha e coltach riumsa gum bu chòir prògram cho sìmplidh a bhith air an eadar-lìn. Nach do thachair duine a-riamh ri leithid de dhuilgheadas? Ach thuig mi nach eil fios agam eadhon dè na prìomh fhaclan a bu chòir dhomh a lorg. Mar sin, chruthaich mi gu sgiobalta sgriobt Lua airson na h-obrach seo agus a-nis tha mi air a mheudachadh. Is e seo a tha mi airson a roinn.
A luchdachadh a-nuas torrent ann am pàirtean
Tòisich a 'luchdachadh sìos torrent air a' chiad inneal
feitheamh gus an tèid an ROM a lìonadh
stad an luchdachadh sìos
gluais am faidhle chun dàrna inneal agus cuir àireamh ri ainm an fhaidhle
bidh sinn a 'tilleadh chun a' chiad phuing gus an tèid am faidhle a luchdachadh sìos gu tur
A 'ceangal pàirtean ann an aon fhaidhle
Às deidh am pàirt mu dheireadh fhaighinn, feumar an cruinneachadh ann an aon fhaidhle slàn.
Tha an obair sìmplidh:
Leughadh a h-uile pàirtean aig an aon àm
Mura h-eil an suidheachadh na neoni byte ann an cuid, bidh sinn ga sgrìobhadh chun toradh, air neo bidh sinn a’ sgrìobhadh neoni
gnìomh merge_part gabhail ri sreath de snàithleanan streams_in dhiubh a leughas earrann de mheudachd buffer_length agus a 'tilleadh toradh co-aonadh phàirtean bho dhiofar snàithleanan.
function merge_part(streams_in, buffer_length)
local out_part
for _, stream in ipairs(streams_in) do
local in_part = stream:read(buffer_length)
if not out_part then
out_part = in_part -- просто копируем часть из первого файла
elseif in_part and #in_part > 0 then
if #out_part < #in_part then
out_part, in_part = in_part, out_part
end
if out_part ~= in_part -- данные различаются
and in_part:find("[^ ]") -- есть данные в in_part
and out_part:find(" ", 1, true) -- есть пустые места в out_part
then
local find_index = 1
--[[
gnìomh string.gsub freagarrach airson na h-obrach oir lorgaidh e pìosan làn de neamhan agus lìbhrigidh e na tha air a thoirt dha.
--]]
out_part = out_part:gsub(" +", function(zero_string)
if #in_part < find_index then
return -- не на что менять
end
--[[
string.gsub chan eil e a’ toirt iomradh air an t-suidheachadh aig an deach am maids a lorg. Mar sin, bidh sinn a’ dèanamh sgrùdadh co-shìnte airson an t-suidheachaidh zero_string a’ cleachdadh a’ ghnìomh string.find. Tha e gu leòr a’ chiad neoni byte a lorg.
A-nis ma tha a-staigh in_part tha dàta ann airson out_part dèan lethbhreac dhiubh.
--]]
if #in_part >= start_index then
local end_index = start_index + #zero_string - 1
--[[
Gearr bho in_part pàirt a fhreagras air an t-sreath de zeros.
--]]
local part = in_part:sub(start_index, end_index)
if (part:byte(1) ~= 0) or part:find("[^ ]") then
--[[
В part tha dàta ann.
--]]
if #part == #zero_string then
return part
else
--[[
part thionndaidh e a-mach gu bhith nas lugha na sreath de neoni. Leigidh sinn leotha e.
--]]
return part..zero_string:sub(1, end_index - #in_part)
end
end
end
end)
end
end
end
return out_part
end
co-dhùnadh
Mar sin, bha e comasach dhuinn am faidhle seo a luchdachadh sìos agus a chruinneachadh air PC. Às deidh an aonachadh, thug mi a-mach am faidhle torrent bhon chlàr. Chuir mi a-steach cliant torrent air a’ choimpiutair agam agus thug mi sùil air an fhaidhle leis.
Faodar am pàirt mu dheireadh a chaidh a luchdachadh sìos air a’ chlàr fhàgail air an sgaoileadh, ach feumaidh tu ath-sgrùdadh a dhèanamh air na pàirtean ron seo agus dì-cheannaich am faidhle gus nach luchdaich thu sìos a-rithist.