انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: aet در 22 خرداد 1396، 06:41 بظ
-
با عرض سلام.
تصور کنید یه فایل ۱۰۰ مگابایتی متنی داریم. حالا میاییم از وسط این فایل ۲ مگابات اطلاعات رو حذف میکنیم.
فایل سیستم چطور این کار رو انجام میده؟ میاد از اول اون قسمت شروع به ۰ کردن بایت ها میکنه؟ که در این صورت این مکان بدون استفاده خواهد ماند
یا میاد از اول یه فایل جدید ایجاد میکنه که اون وسط رو نداشته باشه؟ که این کار هم توی فایل های بزرگ با ویرایش های زیاد زمان زیادی میبره
-
https://stackoverflow.com/questions/17203138/adding-content-to-middle-of-file-without-reading-it-till-the-end
-
چطوری از وسط فایل ۲ مگابایت رو حذف میکنید؟
-
https://stackoverflow.com/questions/17203138/adding-content-to-middle-of-file-without-reading-it-till-the-end
ممنون. هرچند طرف مشکل من رو نپرسیده بود ولی جواب ها جواب منم بود
چطوری از وسط فایل ۲ مگابایت رو حذف میکنید؟
فایل متنی هستش. دقیقا مثل هایلایت کردن و پاک کردن یه بخشی از یه فایل متنی توی یک ادیتور
میدونم انجام اینکار توی فایل 100 مگاباتی متنی کند هست ولی تصور کنیم کامپیوتر توانایی انجام اینکار رو داره
من این فایل رو به صورت رندوم برای تست ایجاد کردم و میشه از اعداد کوچک تر هم برای مثال ما استفاده کرد
سوالم این بود که وقتی ویرایشگر دستور حذف فایل رو میده به file system دقیقا چه اتفاقی میافته ؟
-
پیشنهاد اول من اینه که سعی کنید یک برنامه با هر زبانی که بلدید بنویسید که یک قسمت از وسط فایل رو حذف کنه. نوشتن این برنامه احتمالا بهتون کمک خیلی زیادی در گرفتن جوابتون بکنه.
-
پیشنهاد اول من اینه که سعی کنید یک برنامه با هر زبانی که بلدید بنویسید که یک قسمت از وسط فایل رو حذف کنه. نوشتن این برنامه احتمالا بهتون کمک خیلی زیادی در گرفتن جوابتون بکنه.
تشکر.
من که اینطوری نوشتم که بیاد فایلو بخونه تو رم ، تغییرات رو انجام بده و بنویسه تو فایل.
البته میدونم میشد بهتر هم انجامش داد.مثلا اینکه بیاییم شماره بایت اغازین و پایان حذفیات رو بذاریم تو متغیر
و از بایت بعدی پایانی بخونیم و بنویسیم توی بایت اغازین و بعد هردو این دو متغیر رو یه دونه increase بکنیمو اینکارو ادامه بدیم تا اخر فایل.
ولی نمیدونستم چطور این درخواست هارو به فایل سیستم بدم. هرچند جواب خودم رو گرفتم ;)