עבור לתוכן

בדיקה אם קובץ כבר פועל. c#

Featured Replies

פורסם
  • מחבר

נכון, עכשיו אני רואה שרק הראשון השתמש בשניהם, בשאר התשובות השתמשו רק בstream...

אז באופן כללי, במה עדיף להשתמש? מבחינת יעילות וכו' (הרי אני מניח שהמפתחים לא סתם עשו את שתי האפשרויות האלה)?

פורסם

שוב, שניהם זהים לחלוטין. הפונקציה File.Open קוראת ל-new FileStream ומחזירה את התוצאה שלה. המפתחים של #C פשוט הכניסו את שתי האופציות לנוחות המשתמשים.

חוץ מזה הראשון לא עשה new FileStream, הוא רק עשה File.Open.

פורסם
  • מחבר

אוקיי, תודה.

FileStream stream = null;

try

{

stream = file.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);

}

אהה,התכוונת לחלק עם הnew? אני התכוונתי לשורה הראשונה, ביחד עם השורה הרביעית הוא עשה כאן מיקס די מיותר, אין סיבה גם להגדיר stream וגם בסוף להשתמש בfile.open

נערך על-ידי eido300

פורסם

ודאי שיש סיבה, אחרת איך הוא ישמור את התוצאה של File.Open? הוא חייב לשמור את התוצאה בתוך משתנה על מנת שיוכל לסגור את הקובץ (על ידי הקריאה ל-Close).

פורסם
  • מחבר

אהה, אוקיי תודה רבה.

אגב אין file.close איך סוגרים file?

פורסם

File.open מחזיר משתנה מסוג FileStream ואותו סוגרים ע"י .Close();

פורסם
  • מחבר

כשאני כותב:

file.open(path, filemode.open);

?איך אני סוגר אותו

פורסם
  • מחבר

filestream אני כותב את השם שלו.close() לfile אין שם איך אני ניגש אליו?

תוכל להביא דוגמא איך סוגרים את זה:

file.open(path, filemode.readwrite);

עריכה:

אוקיי מצטער על כל השאלות הקטנוניות, אני פשוט לא מצליח להבין למה צריך את file.open?

file.read או file.write וכו' אני מבין, משתמשים בהם בפועל, אבל סתם לפתוח את הקובץ? הרי אחרי שפתחתי אותו אני לא יכול לגשת אליו בשום צורה שהיא (לפחות לא שידועה לי), בfilestream אני יוצר משתנה עם שם שדרכו אני יכול לגשת לתוכן הקובץ אבל סתם file.open מה עושים איתו?

נערך על-ידי eido300

פורסם

שוב, File.Open פשוט מחזיר FileStream. אתה שומר את התוצאה של File.Open בתוך משתנה מטיפוס FileStream ואז אתה יכול לעשות מה שבה לך עם המשתנה הזה. כשאתה עושה סתם ככה:

File.Open(path, FileMode.ReadWrite);

אז אתה לא שומר את התוצאה של הפונקציה בשום מקום, ולכן היא "הולכת לאיבוד". אם לעומת זאת תשמור את התוצאה בתוך משתנה:

FIleStream fileStream = File.Open(path, FileMode.ReadWrite);

אז עכשיו אתה יכול לבצע פעולות על המשתנה fileStream, כולל לקרוא ממנו (fileStream.Read) ולסגור אותו (fileStream.Close).

פורסם

אני ממליץ תמיד לאתחל את ה FileStream עם using:

using(FileStream fileStream = File.Open(path, FileMode.Open)) {
}

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים