سلام دوستان
من یک فایل متنی دارم خط به خط می خونم ویک رشته خاص را جستجو می کنم حالا می خوام به ته اون خط یک چیزی اضافه کنم
چه جوری می تونم این کارو انجام بدم
Printable View
سلام دوستان
من یک فایل متنی دارم خط به خط می خونم ویک رشته خاص را جستجو می کنم حالا می خوام به ته اون خط یک چیزی اضافه کنم
چه جوری می تونم این کارو انجام بدم
اگه منظورت اینه که اون خطی که رشته خاص رو اگه توش پیدا کردی یه رشته ای به آخرش اضافه بشه باید هر خطی را که می خونی این کاری که گفتی را روش انجام بدی و بعد همون موقع اون خط رو append کنی روی یه فایل دیگه توی همون فولدر . بعد فایل قبلی رو پاک کنی و اسم فایل جدید رو به اسم فایل قبلی تغییر بدی .
البته فکر نکنم مستقیم بشه یه خط از فایل رو تغییر داد ولی اگه چنین راهی پیدا کردی به روش بالا نیازی نیست .
فکر نمیکنم که روشی وجود داشته باشه که یه متنی رو به وسط یه فایل متنی اضافه کنی!!!
فقط میشه به انتهای فایل یه خط جدید اضافه کرد ولی به وسط فایل بعید میدونم...
موفق باشید...
یه کاری می تونی با دوتا حلقه بکنی :
بگیری هر خط از اون فایل رو تو یه لیست از نوع استرینگ بریزی و بعدش با یه حلقه ی کل خطها رو چک کنی که توشون اون کلمه هست یا نه ؟!
اگه بودش به آخر اون خط یه نوشته اضافه کنه .
و وقتی این حلقه که چم می کرد تموم شد یه حلقه دیگه بزاری که اون لیست رو به صورت متن در بیاره .
مشکلی هست ؟؟
یه کار دیگم می تونی بکنی . اینکه تا قبل از اون کلمه ی مورد نظرتو و خود کلمه رو توی یه فایل دیگه بریز اون کلمه ی خودتو بهش اضافه کن . بعد همه رو برگردون به فایلت .
سلام این یه مثال کلی یه ببین چطوری میتونی باش مانور بدی
File.Delete("file address.txt");
StreamWriter writer = File.AppendText("file address.txt");
writer.Write(s);
writer.Close();
راستی قبلش اینو نیاز داری
string s=null;
s = File.ReadAllText("file address.txt");
دوست عزیز چرا وقتی بلد نیستی میگی روشی وجود نداره ؟؟:اشتباه: من تو چند پست این مسئله رو دیدم!!
--------------------
با استفاده از متد Seek از کلاس FileStream میتونید به هر نقطه ای از فایل بروید و با متد Write و WriteByte میتونید در اون نقطه هرچی که میخواین رو بنویسین!!!
با استفاده از کلاس هاس FileStream,File,BinaryReader,.... میتونین کارهی زیادی انجام بدین!!
بهترین روش همین روش هست.
البته فقط با یک حلقه while هم میشه اینکار رو انجام داد.
در این حلقه شرط رو براین میزاریم که تازمانی که به انتهای فایل اصلی نرسیده ای بخون و برو جلو.
در خط بعدی شرطی میزاریم اگه این رشته مورد نظر بود بجاش این یکی رو بزار و در غیر اینصورت هر چی میخونی در فایل بعدی کپی (بنویس) کن.
موفق باشید
علی پاییزی
--------------------
دوست عزیز:
در برنامه نویسی غیر ممکن وجود ندارد.
موفق باشی
علی پاییزی
ببخشید من فقط نظرمو دادم،شرمنده!!!چرا میزنین حالا!!!
در ضمن خوب بود گفتم فکر کنم وگرنه منو میکشتید!!!
--------------------
منظورم ازین که روشی وجود نداره این بود که روش مسقیمی وجود نداره(که البته دوست خوبمون s.khoshfekran نشون دادن که روش مستقیم هم هست) وگرنه میدون توی برنامه نویسی غیرممکن وجود نداره!!!
با برنامه نویسی هرکاری میشه کرد!!!