Kutsitsa mtsinje wa 16GB kudzera pa piritsi yokhala ndi 4GB ya malo aulere

Kutsitsa mtsinje wa 16GB kudzera pa piritsi yokhala ndi 4GB ya malo aulere

Ntchito:

Pali PC yopanda intaneti, koma ndizotheka kusamutsa fayilo kudzera pa USB. Pali tabuleti yokhala ndi intaneti yomwe fayiloyi imatha kusamutsidwa. Mukhoza kukopera mtsinje chofunika pa piritsi wanu, koma palibe malo okwanira ufulu. Fayilo yomwe ili mumtsinjewu ndi imodzi komanso yayikulu.

Njira yothetsera:

Ndinayamba kutsitsa. Pamene malo omasuka anali pafupi kutha, ndinayimitsa kutsitsa. Ndinalumikiza piritsi ku PC ndikusuntha fayilo kuchokera pa piritsi kupita ku PC. Ndinayima kaye ndipo ndinadabwa kuti fayiloyo idapangidwanso ndipo mtsinjewo udapitilira kutsitsa ngati palibe chomwe chidachitika.

Chifukwa chakuti kasitomala wa mtsinje amayika mbendera yocheperako ku fayilo yomwe imalemba zomwe adalandira, dongosololi siliyesa kusunga 16GB nthawi imodzi ndipo cholakwika sichingachitike poyesa kulemba fayilo kupitilira 4GB.

Nditabwereza ndondomekoyi kanayi, ndinalandira mafayilo anayi pa PC yanga yomwe ili ndi magawo osiyanasiyana a mtsinje womwewo. Tsopano chomwe chatsala ndikuziyika pamodzi. Ndondomekoyi ndiyosavuta. Muyenera kusintha zero byte ndi mtengo wina ngati ilipo pamalo omwe mwapatsidwa mu imodzi mwa mafayilo anayi.

Zinkawoneka kwa ine kuti pulogalamu yosavuta yotere iyenera kukhala pa intaneti. Kodi palibe amene anakumanapo ndi vuto ngati limeneli? Koma ndinazindikira kuti sindikudziwa ngakhale mawu osakira kuti ndifufuze. Chifukwa chake, ndidapanga mwachangu zolemba za Lua za ntchitoyi ndipo tsopano ndazikonza. Izi ndi zomwe ndikufuna kugawana.

Kutsitsa mtsinje m'zigawo

  1. yambani kutsitsa mtsinje pa chipangizo choyamba
  2. dikirani mpaka ROM itadzazidwa
  3. yimitsani kutsitsa
  4. kusamutsa fayilo ku chipangizo chachiwiri ndikuwonjezera nambala ku dzina la fayilo
  5. timabwerera ku mfundo yoyamba mpaka fayilo itatsitsidwa kwathunthu

Kuphatikiza magawo mu fayilo imodzi

Gawo lomaliza litalandiridwa, ndikofunikira kuwasonkhanitsa mufayilo imodzi yonse.

Ntchitoyi ndi yosavuta:

  1. Kuwerenga zigawo zonse nthawi imodzi
  2. Ngati mu gawo lina malo si zero byte, ndiye timalemba ku zotsatira, apo ayi timalemba ziro

ntchito merge_part imavomereza ulusi wambiri streams_in amene amawerenga gawo la kukula buffer_length ndi kubweza zotsatira za kuphatikiza zigawo kuchokera ku ulusi wosiyana.

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
--[[

ntchito string.gsub ndiyoyenera ntchitoyi chifukwa ipeza zidutswa zodzazidwa ndi ziro ndikupereka zomwe zapatsidwa.

--]]
                out_part = out_part:gsub(" +", function(zero_string)

                    if #in_part < find_index then
                        return -- не на что менять
                    end
--[[

string.gsub sichikuwonetsa malo omwe machesiwo adapezeka. Chifukwa chake, timafufuza mofananira malowa zero_string pogwiritsa ntchito string.find. Ndikokwanira kupeza zero byte yoyamba.

--]]
                    local start_index = out_part:find(" ", find_index, true)
                    find_index = start_index + #zero_string

--[[

Tsopano ngati mu in_part pali data ya out_part tengerani iwo.

--]]
                    if #in_part >= start_index then
                        local end_index = start_index + #zero_string - 1
--[[

Dulani kuchokera in_part gawo lolingana ndi kutsata kwa ziro.

--]]
                        local part = in_part:sub(start_index, end_index)

                        if (part:byte(1) ~= 0) or part:find("[^ ]") then
--[[

В part pali data.

--]]
                            if #part == #zero_string then
                                return part
                            else
--[[

part zidakhala zochepera kutsatizana kwa ziro. Tiyeni tiwonjezere nawo.

--]]
                                return part..zero_string:sub(1, end_index - #in_part)
                            end
                        end
                    end
                end)
            end
        end
    end
    return out_part
end

Pomaliza

Chifukwa chake, tidatha kutsitsa ndikusonkhanitsa fayiloyi pa PC. Pambuyo pophatikizana, ndidatulutsa fayilo ya torrent pa piritsi. Ndinayika kasitomala wa torrent pa PC yanga ndikuyang'ana fayiloyo.

Gawo lomaliza lomwe latsitsidwa pa piritsilo likhoza kusiyidwa pakugawira, koma muyenera kuloleza kuyang'ananso zigawo izi zisanachitike ndikuchotsa fayiloyo kuti isatsitsenso.

Zogwiritsidwa Ntchito:

  1. Flud torrent kasitomala pa piritsi.
  2. Torrent kasitomala qBittorent pa PC.
  3. Lua script

Source: www.habr.com

Kuwonjezera ndemanga