حذف ملف باستخدام file.delete ثم باستخدام StreamWriter لإنشاء نفس الملف؟
-
18-09-2019 - |
سؤال
public void LoadRealmlist()
{
try
{
File.Delete(Properties.Settings.Default.WoWFolderLocation +
"Data/realmlist.wtf");
StreamWriter TheWriter =
new StreamWriter(Properties.Settings.Default.WoWFolderLocation +
"Data/realmlist.wtf");
TheWriter.WriteLine("this is my test string");
TheWriter.Close();
}
catch (Exception)
{
}
}
هل ستحذف طريقتي بشكل صحيح ملف، ثم قم بإنشاء واحد باستخدام "realmlist.wtf" كاسم ثم اكتب خطا إليه؟
أنا مرتبك لأنني لا أستطيع رؤية الخط حيث في الواقع يخلق الملف مرة أخرى. أو هل يقوم فعل إنشاء Streamiter بإنشاء ملف تلقائيا؟
المحلول
سيؤدي كاتب الدفق إلى إنشاء الملف إذا لم يكن موجودا. سوف ينشئها في المنشئ، لذلك عندما يتم إنشاء مثيل كتاب Streamiter.
نصائح أخرى
كما تعلمون، إذا قمت بتمرير مثيل ملف FileStream إلى منشئ StreamWriter، فيمكن ضبطه على الكتابة فوق الملف ببساطة. مجرد تمريرها مع المنشئ.
http://msdn.microsoft.com/en-us/library/system.io.filestream.filestream.aspx.
مثال:
try
{
using (FileStream fs = new FileStream(filename, FileMode.Create))
{
//FileMode.Create will make sure that if the file allready exists,
//it is deleted and a new one create. If not, it is created normally.
using (StreamWriter sw = new StreamWriter(fs))
{
//whatever you wanna do.
}
}
}
catch (Exception e)
{
System.Diagnostics.Debug.WriteLine(e.Message);
}
أيضا، مع هذا لن تحتاج إلى استخدام .Close
طريقة. ال using()
وظيفة يفعل ذلك من أجلك.
يحاول System.IO.File.CreateText
.
لا تنتمي إلى StackOverflow