PDA

View Full Version : کار با فایل ها



amirepsilon
دوشنبه 08 تیر 1388, 14:22 عصر
سلام
دوستان در مورد کار با فایل ها من به کارهایی نیاز دارم
ولی از مشخصه هاش writeline رو بلدم
لطفا کمکم کنید
چطور میشه :
1 - کل فایل پاک بشه ؟
2- یک خط جدید به انتهای فایل اضافه کنه
ممنون

tdkhakpur
دوشنبه 08 تیر 1388, 15:11 عصر
سلام
در این مورد کارهای زیادی هست یک search داخل تالار بزنید.

Reza_Yarahmadi
دوشنبه 08 تیر 1388, 18:08 عصر
اگه منظورت از پاک شدن محتویاتش بود


StreamWriter SW = new StreamWriter("File Path");
SW.Write("");

اگر منظور حذف فایل بود


FileInfo FI = new FileInfo("File Path");
FI.Delete();

واسه اضافه کردن خط جدید به فایل هم میتونی به صورت زیر عمل کنی


FileStream FS = new FileStream(@"C:\Temp.txt", FileMode.OpenOrCreate);
FS.Seek(0, SeekOrigin.End);
StreamWriter SW = new StreamWriter(FS, Encoding.Default);
SW.WriteLine("Your Text" + "\n");
SW.Close();

amirepsilon
سه شنبه 09 تیر 1388, 08:04 صبح
سلام
ممنون
یعنی این کد ، یک خط جدید در آخر خط های موجود اضافه میکنه ؟

Reza_Yarahmadi
سه شنبه 09 تیر 1388, 18:14 عصر
والا امتحانش کردم روی سیستم من که یه خط به آخر فایل اضافه میکنه. خب کاری نداره ، امتحانش کن!! :چشمک:

mrmmnb
سه شنبه 09 تیر 1388, 23:48 عصر
دوستان چطور میشه به وسط اطلاعات یه خط اضافه کرد به طوری که اطلاعات خطوط بعدی همه یکی برن پایین یه بالعکس یه خط حذف کرد به طوری که خطوط همه یه خط بیان بالا؟

Open-Source
چهارشنبه 10 تیر 1388, 09:58 صبح
دوستان چطور میشه به وسط اطلاعات یه خط اضافه کرد به طوری که اطلاعات خطوط بعدی همه یکی برن پایین یه بالعکس یه خط حذف کرد به طوری که خطوط همه یه خط بیان بالا؟

ببین دوست من این کار به صورت اتوماتیک انجام نمیشه.
شما باید از یک فایل کمکی استفاده کنید.

به این صورت که از ابتدا تا محل مورد نظر رو در فایل کمک کپی کنید بعد رکورد مورد نظر رو حذف یا اضافه کنید بعد دو باره تا آخر فایل رو کپی کنید.

در آخر هم فایل کمک رو جایگزین فایل اصلی کنید.

Reza_Yarahmadi
چهارشنبه 10 تیر 1388, 10:43 صبح
دوستان چطور میشه به وسط اطلاعات یه خط اضافه کرد به طوری که اطلاعات خطوط بعدی همه یکی برن پایین یه بالعکس یه خط حذف کرد به طوری که خطوط همه یه خط بیان بالا؟
همونطور که دوستمون گفت بطور مستقیم معمولا نمیشه
یه چیزی شبیه کد زیر میشه


int LineNumberForWrite = 10;
StreamReader SR = new StreamReader("File Path", Encoding.Default);
StreamWriter SW = new StreamWriter("Temp.txt");
for (int i = 0; i < LineNumberForWrite; i++)
SW.WriteLine(SR.ReadLine());
SW.WriteLine("New Line");
while (!SR.EndOfStream)
SW.WriteLine(SR.ReadLine());
SR.Close();
SW.Close();
File.Copy("Temp.txt", "File Path", true);
File.Delete("Temp.txt");