Этот вопрос я считаю достаточно техническим для S/O и, вероятно, слишком -ориентированным на программирование для Android . Я заинтригован тем, как файлы обрабатываются в Android (, Java или Linux, в зависимости от обстоятельств ), так как я что-то делал со своим новым смартфоном, и мне было бы любопытно узнать, как это произошло.
Я передавал файл со своего ноутбука на телефон Android через Bluetooth. Я увидел новый файл в проводнике, предположил, что он полностью перенесен, и поэтому переместил его с /sdcard/bluetooth
на /sdcard/torrents
. После того, как я это сделал, я заметил, что он на самом деле все еще передается. К моему удивлению, он успешно завершился, что подтверждается значком уведомления на телефоне и ручной проверкой MD5 с обеих сторон. В большинстве систем перемещение файла вызвало бы сбой.
В чем причина такого успешного перехода? Я знаю, что в целом путь к файлу отличается от расположения файла в файловой системе (, в данном случае на SD-карте ). Я предполагаю, что приложение Bluetooth открыло дескриптор файла, и когда я переместил файл, таблица «открытых файлов» была обновлена с новым путем. Эта функция вообще применима к любой системе Linux? Могу ли я выполнить mv
в записываемом файле и ожидать, что копия -в его новом местоположении -будет правильной?