PDA

View Full Version : اضافه کردن یک Record به فایل



yegane8
شنبه 31 تیر 1391, 01:40 صبح
سلام
من می خواهم یک string رو به یک فایل اضافه کنم اما اطلاعات قبلی ام پاک نشود
اینطوری نوشتم تمام اطلاعاتم از فایل پاک شدند و اطلاعات جدید هم اضافه نشد

BufferedWriter writer = null;
writer = new BufferedWriter( new FileWriter("FileName.txt"));
writer.write(StringToAdd);

باید چی کار کنم ؟
باتشکر

yegane8
شنبه 31 تیر 1391, 02:19 صبح
یک سوال مستقل از سوال بالا اینکه چطوری باید یک string را در یک فایل نوشت و این string در فایل در خط بعدی نوشته شود نه در ادامه ی اخرین خط فایل

parnian~parnian
شنبه 31 تیر 1391, 14:16 عصر
سلام
یکی از راه هاش اینه که اول فایل مورد نظرت رو بخونی ، اطلاعاتش رو توی یه string ذخیره کنی ........... بعد رشته جدید یا همون اطلاعات جدید رو به انتهای رشتت اضافه کنی و بعدش کل رشته رو ذخیره کنی توی فایل .

دلیل اینکه اطلاعات فایلت پاک می شه اینه که شما new می کنی اون فایل رو .

اگه هم بخوای خط بعدی ذخیره بشه "n\" رو به رشتت اضافه کن و بعد اطلاعات جدید رو اضافه کن چون باعث می شه که یه خط اضافه ایجاد بشه .

yegane8
شنبه 31 تیر 1391, 16:36 عصر
سلام
یکی از راه هاش اینه که اول فایل مورد نظرت رو بخونی ، اطلاعاتش رو توی یه string ذخیره کنی ........... بعد رشته جدید یا همون اطلاعات جدید رو به انتهای رشتت اضافه کنی و بعدش کل رشته رو ذخیره کنی توی فایل .

دلیل اینکه اطلاعات فایلت پاک می شه اینه که شما new می کنی اون فایل رو .

اگه هم بخوای خط بعدی ذخیره بشه "n\" رو به رشتت اضافه کن و بعد اطلاعات جدید رو اضافه کن چون باعث می شه که یه خط اضافه ایجاد بشه .
مشکل اول حل شد
اما در مورد مشکل دوم من "\n" رو به رشتم اضاف کردم و در برنامه مشکلی ندارم اما وقتی خود فایل رو باز می کنم تمام اطلاعات اضافه شده در یک خط از فایل اضافه شده اند
باید چی کار کنم تا این مشکل حل شه؟
باتشکر

spiderman200700
شنبه 31 تیر 1391, 17:33 عصر
برای اینکه بتونید شکست خطوط رو توی فایل هم ببینید باید به جای "\n" مثلا از متد newLine در کلاس BufferedWriter استفاده کنید.