سلام دوستان
من یک فایل متنی دارم خط به خط می خونم ویک رشته خاص را جستجو می کنم حالا می خوام به ته اون خط یک چیزی اضافه کنم
چه جوری می تونم این کارو انجام بدم
سلام دوستان
من یک فایل متنی دارم خط به خط می خونم ویک رشته خاص را جستجو می کنم حالا می خوام به ته اون خط یک چیزی اضافه کنم
چه جوری می تونم این کارو انجام بدم
اگه منظورت اینه که اون خطی که رشته خاص رو اگه توش پیدا کردی یه رشته ای به آخرش اضافه بشه باید هر خطی را که می خونی این کاری که گفتی را روش انجام بدی و بعد همون موقع اون خط رو 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,.... میتونین کارهی زیادی انجام بدین!!
آخرین ویرایش به وسیله s.khoshfekran : یک شنبه 07 شهریور 1389 در 21:40 عصر دلیل: این پست به دلیل تکراری بودن به طور خودکار ادغام شده است.
بهترین روش همین روش هست.
البته فقط با یک حلقه while هم میشه اینکار رو انجام داد.
در این حلقه شرط رو براین میزاریم که تازمانی که به انتهای فایل اصلی نرسیده ای بخون و برو جلو.
در خط بعدی شرطی میزاریم اگه این رشته مورد نظر بود بجاش این یکی رو بزار و در غیر اینصورت هر چی میخونی در فایل بعدی کپی (بنویس) کن.
موفق باشید
علی پاییزی
--------------------
دوست عزیز:
در برنامه نویسی غیر ممکن وجود ندارد.
موفق باشی
علی پاییزی
آخرین ویرایش به وسیله ali_autumnal : یک شنبه 07 شهریور 1389 در 21:49 عصر دلیل: این پست به دلیل تکراری بودن به طور خودکار ادغام شده است.
ببخشید من فقط نظرمو دادم،شرمنده!!!چرا میزنین حالا!!!
در ضمن خوب بود گفتم فکر کنم وگرنه منو میکشتید!!!
--------------------
منظورم ازین که روشی وجود نداره این بود که روش مسقیمی وجود نداره(که البته دوست خوبمون s.khoshfekran نشون دادن که روش مستقیم هم هست) وگرنه میدون توی برنامه نویسی غیرممکن وجود نداره!!!
با برنامه نویسی هرکاری میشه کرد!!!
آخرین ویرایش به وسیله morteza271 : یک شنبه 07 شهریور 1389 در 22:21 عصر دلیل: این پست به دلیل تکراری بودن به طور خودکار ادغام شده است.