مشاهده نسخه کامل
: حذف یک خط از فایل text
haghshenasmahdi
22-03-2013, 12:55
با سلام
دوستان من خط های یه فایل text رو میخونم و میریزم دا خل یه ارایه برای مثال می خوام چهارمین خط رو پاک کنم زمانی که ارایه شماره چهار رو مساوی "" قرار می دم و بعد ارایه رو داخل فایل text سیو می کنم اون خط پاک میشه ولی مشکلی که دارم اینه که اطلاعات زیرین یک خط به بالا نمیان و در داخل فایلم همه ای اطلاعت سر جای خودشون هستند و فقط خط چهارم هیچ اطلاعتی نداره در صورتی که من میخوام اطلاعات خط پنجم بیاد جای خط چهارم بشینه و خط ششم بیاد جای پنجم و به همین ترتیب مرتب بشه
لطفا راهنمایی کنید چیکار باید بکنم مرسی "سی شارپ"
من سه روش در ذهن دارم:
1- خواندن کل فایل در رم و سپس ایجاد تغییرات در آن و رایت مجدد اطلاعات
2- خواندن خطی و ایجاد تغییرات خطی.
3- روش ترکیبی
اگر حجم فایل کم باشد روش اول مناسب است. به این کد دقت کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگر حجم فایل بالای 100 مگ باشد پیشنهاد نمی گردد. البته این کاملا بسته به تعریف شما از سخت افزار مورد نیاز دارد.
روش دوم: روش بسیار کند می باشد اما گر در فایل هایی با حجم کم و بسیار کم استفاده شود تغییر محسوسی ندارد. به این کد دقت کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در واقع ما اطلاعات رو در یک temp ذخیره می کنیم و در نهایت فایل temp را روی فایل اصلی می گذاریم. مشاهده این رفتار را در Word دیده اید. البته لازم به ذکر است که Word یک روند طولانی در ذخیره سازی دارد یعنی کاربر ساعت ها پای Word هست برای همین هم این روش استفاده از temp مناسب جلوه می کند.
روش سوم برای حجم های بالاست که سرعت مناسبی خواهد داشت. بدین ترتیب که روش اول و دوم را ترکیب کنید. یعنی مثلا 100 مگ بخوانید و تغییر بدهید و آنگاه رایت کنید و مجددا این عمل را انجام دهید تا به انتهای فایل برسید.
موفق باشید.
haghshenasmahdi
24-03-2013, 11:36
دوست عزیز ضمن تشکر از زحمات خالصانه جنابعالی . اگه واستون امکانش مقدوره واسه هر خط یه توضیح کوچولو بده .
صمیمانه سپاسگذارم
کدام روش رو؟ :n24:
:n02:
---------------------------------------------
روش اول:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این قسمت در یک لیست تمام خط ها رو قرار می ده.
این کد هم همین کار رو می کنه:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در این خط من خط سوم آون فایل متنی رو که خوندم رو پاک می کنم:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
در ادامه هم هرچی در لیستم دارم رو می ریزم در فایل و حالا چون خط سوم رو نداره تفاوت این فایل با قبلی مشخص می شه و خط سوم حذف گردیده است.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
--------------------------------------------------------------------------------------
روش دوم:
در این بخش:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
تا آخر فایل خط به خط می خونم و سپس هر خطی رو که
به غیر از خط سوم باشه رو در فایل Temp ذخیره می کنم
else رو هم برای این می گذارم که position فایل رو یک خط ببرم جلو.
در آخر هم فایل Temp رو روی فایل اصلی قرار می دهم و فایل Temp رو هم پاک می کنم.
روش سوم:
OPS ، روش سوم که کد نداره:n02:
موفق باشید.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.