ورود

View Full Version : پاک کردن محتویات درون فایل



mansoor69
سه شنبه 14 دی 1389, 15:36 عصر
من میخوام محتویات درون فایلم رو ویرایش کنم به این صورت که ابتدا محتویات درون فایل اصلی رو در فایل دیگه کپی می کنم بعد باید محتویات درون فایل اصلی رو پاک کنم که تو این مرحله به مشکل بر خوردم.
تا حالا از چند روش استفاده کردم.یکیش فایل اصلی رو با متد delete پاک کنم که این کار عملی نمیشه نمیدونم چرا. یعنی متد delete اجرا میشه ام فایل هنوز هستش. راهی دیگه اینه که تو مرحله پاک کردن دوباره از این فایل یه filewriter معرفی می کنم و apend رو هم false میزارم یه '''' خالی یعنی یه کاراکتر خالی درون فایل میریزم تا محتویات فایلم پاگ بشه که همین "" توی مراحل بعد که می خوام از فایل بخونم مشکل پیش میاره. لازمه که بگم اولا فرمت فایلم txt هست و بصورت کارکتری درون فایلم می نویسم . اگه راحلی دارید لطفا کمک کنید.
ممنون

idehrayan
سه شنبه 06 آبان 1393, 08:11 صبح
سلام
چیزی که به ذهن من رسید اینه که ابتدا فایل رو ببندید و بعد یک فایل دقیقا با همان نام درست کنید

ahmad.mo74
سه شنبه 06 آبان 1393, 13:58 عصر
سلام،

شما وقتی بخوای توی فایلی چیزی بنویسی اینطوری :


try (FileOutputStream fos = new FileOutputStream("path/to/file.txt");
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(fos))) {
writer.write("salam");
}


بای دیفالت خودش محویات قبلی توی فایل رو پاک میکنه مگر اینکه اینکارو بکنی :


FileOutputStream fos = new FileOutputStream("path/to/file.txt", true);


که در این حالت محتویات قبلی رو پاک نمیکنه و بهش append میکنه.