שאלה לגבי קבצים

moriay

New member
שאלה לגבי קבצים

איך אפשר לדעת אם קובץ מסוים פתוח כרגע או לא ? (CS) הבעיה היא שאני לא יכולה לעשות save as או open אם הקובץ פתוח, ואני רוצה לדרוך אותו. תודה רבה
 

DevArea

New member
כמה אפשרויות

ניתן פשוט לתפוס את ה Exception שייזרק אם הקובץ פתוח במקום אחר.מבחינת ביצועים קצת יקר אבל רוב הפתרונות האחרים שאני חושב עליהם יקרים לא פחות.
 

moriay

New member
חשבתי על הרעיון, אבל...

נגיד שגיליתי שאכן הקובץ פתוח ואני רוצה לסגור אותו כדי לעבוד עליו. חשבתי לעשות: ( FileInfo fi = new FileInfo(_fileName () fi.MoveTo ואז להעביר אותו לסל מיחזור או משהו כזה... או שיש דרך אחרת לתפוס את הקובץ ולעשות לו close ? תודה רבה !
 

DevArea

New member
תשובה

זה לא יסגור אותו. עדיין ייזרק לך Exception. מעבר לזה שזה לא מומלץ.
 

DevArea

New member
בעצם... יש דרך

טעות ענקית! בהנחה שמדובר בתוכנה שהופכת אותו ל Read Only, ל System.IO.FileInfo יש פרופרטי isReadOnly. אם הוא true, אז הוא לקריאה בלבד ואולי תוכנה אחרת משתמשת בו.
 

moriay

New member
לא כל כך הבנתי,

התוכנה לא הופכת אותו לread only , אבל בכל מקרה לא הבנתי איך זה פותר את הבעיה.... אתה מתכוון באם אני פותחת אותו במצב של read only אז הוא יעשה שגיאה אם הוא כבר פתוח?
 

מתכNET

New member
לא נעים לי..אבל למה?

בפעם הקודמת זה הצליח ונוכחנו לדעת שהפתרון שהוא הציע בכלל לא מתאים אז אולי גם הפעם? למה אתה רוצה לעשות את זה?
 

DevArea

New member
אה, לא הבנתי את השאלה.

חשבתי שהמטרה אחרת. התאת זה אי אפשר עם ה framework. אולי יש API שעושה את זה, אני לא מאמין.
 

DevArea

New member
למה לא פשוט להודיע למשתמש שיסגור תוכניות

שמשתמשות בקובץ?
 
למעלה