בדיקה אם קובץ כבר פועל. c# - עמוד 2 - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

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


eido300

Recommended Posts

נכון, עכשיו אני רואה שרק הראשון השתמש בשניהם, בשאר התשובות השתמשו רק ב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

קישור לתוכן
שתף באתרים אחרים

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

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

file.open(path, filemode.readwrite);

עריכה:

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

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

קישור לתוכן
שתף באתרים אחרים

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

File.Open(path, FileMode.ReadWrite);

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

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

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...