מדריך FSO – האובייקט TextStream
האובייקט מאפשר גישה למאפייני ושיטות קבצי הטקסט.
לאובייקט 9 שיטות (מתודות) ו-4 מאפיינים.
האובייקט מאפשר לנהל ושלוט על קבצי טקסט (כגון קריאה,כתיבה,הוספה) ולקבל הגדרות מסוימות מתוך קבצי הטקסט.
בעזרת אובייקט התקיה (Folder) או FSO בעצמו, נוכל ליצור את הקובץ ובעזרת אובייקט הקובץ (File) נוכל לפתוח את הקובץ לשליטה וניהול. יחד נקבל את אובייקט TextStream.
השימוש באובייקט נעשה כך:
Set File = FSO.OpenTextFile(Path[,mode[,create[,format]]])
var File = fso. OpenTextFile(Path[,mode[,create[,format]]]);
לשם הדוגמאות בהמשך, נציב ב-Path את "C:file.txt".
הגדרות אופציונאליים לשיטה (לפי סדר כתיבתם):
- mode – הגדרה אשר תקבע לקובץ הרשאת קריאה,כתיבה או הוספה לקובץ.
- create – ערך בוליאני הקובע האם הקובץ ייווצר במידה ואינו קיים או לא (True/False).
- format – סוג פתיחת פורמט הקובץ.
א. מצב קלט/פלט (mode):
שם ייצוגי | ערך | תאור |
קריאה | 1 | קובץ עבור קריאה בלבד. לא ניתן לכתוב לתוכו. |
כתיבה | 2 | קובץ עבור כתיבה. במידה והקובץ קיים תוכנו החדש ייכתב על תוכנו הישן. |
הוספת נתונים | 8 | פתיחת הקובץ עבור הוספת נתונים מסוף הקובץ. |
ג. פורמט פתיחת הקובץ (format):
שם ייצוגי | ערך | תאור |
ברירת מחדל | -2 | פותח את הקובץ בשימוש ברירת מחדל מערכת. |
יוניקוד | -1 | פותח את הקובץ כיוניקוד (Unicode) |
אסקי | 0 | פותח את הקובץ כאסקי (ASCII) |
המאפיין AtEndOfLine:
המאפיין מחזיר ערך בוליאני (True/False) עבור בדיקה האם המיקום הנוכחי בשורה הוא אכן סוף השורה.
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,1,False) If File.AtEndOfLine Then Response.Write "The end of the line" End If File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,1,false); if(File.AtEndOfLine) Response.Write("The end of the line"); File = null; delete File; fso = null; delete fso;
בדוגמא כתבנו משפט תנאי הבודק האם המיקום הנוכחי בשורה הוא סופה ואם כן להדפיס פלט המציג זאת.
המאפיין AtEndOfStream
המאפיין מחזיר ערך בוליאני (True/False) עבור בדיקה האם המיקום הנוכחי בקובץ הוא אכן סוף הקובץ.
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,1,False) If File.AtEndOfStream Then Response.Write "The end of the file" End If File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,1,false); if(File.AtEndOfStream) Response.Write("The end of the file"); File = null; delete File; fso = null; delete fso;
בדוגמא כתבנו משפט תנאי הבודק האם המיקום הנוכחי בקובץ הוא סופו ואם כן להדפיס פלט המציג זאת.
המאפיין Column:
המאפיין מחזיר את מספר התווים מתחילת הקובץ ועד מיקומו הנוכחי בקובץ.
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,8,False,0) Response.Write File.Column File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,8,false,0); Response.Write(File.Column); File = null; delete File; fso = null; delete fso;
בדוגמא הדפסנו את המיקום הנוכחי בקובץ והפלט בדוגמא יהיה 1 (תחילת הקובץ).
המאפיין Line:
המאפיין מחזיר את מספר השורה בה נמצא המיקום הנוכחי בקובץ.
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,8,False,0) Response.Write File.Line File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,8,false,0); Response.Write(File.Line); File = null; delete File; fso = null; delete fso;
בדוגמא הדפסנו את
השיטה Close
השיטה סוגרת את אובייקט קובץ הטקסט.
השיטה חובה עבור יעילות העמוד ועבור סיום פעולות הקובץ.
* במידה ובוצעו פעולות כגון כתיבה לקובץ והאובייקט לא נסגר תתקבל שגיאה על כך.
דוגמא לשימוש:
Dim File Set File = FSO. OpenTextFile(Path,1,False) File.Close Set File = Nothing
var File = fso.OpenTextFile(Path,1,false); File = null; delete File;
בדוגמא הגדרנו את האובייקט וסגרנו אותו.
השיטה Read:
השיטה מחזירה את מספר התווים מתחילת הקובץ ועד המספר המוגדר לה.
במידה ויוגדר לה מספר הגדול ממספר התווים הקיימים בקובץ הערך המוחזר יהיה כל תווי הקובץ.
לשם הדוגמא נוסיף לקובץ את המשפט "Hello World 2004".
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,1,False) Response.Write File.Read(11) File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,1,false); Response.Write(File.Read(11)); File = null; delete File; fso = null; delete fso;
בדוגמא הדפסנו את השיטה והגדרנו לה להדפיס רק 11 תווים מתחילת הקובץ.
הפלט בדוגמא יהיה "Hello World".
השיטה ReadAll:
השיטה מחזירה את כל ערך הקובץ.
לשם הדוגמא נוסיף לקובץ את המשפט "Hello World 2004".
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,1,False) Response.Write File.ReadAll File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,1,false); Response.Write(File.ReadAll()); File = null; delete File; fso = null; delete fso;
בדוגמא הדפסנו את כל ערך הקובץ והפלט בדוגמא יהיה "Hello World 2004".
השיטה ReadLine:
השיטה מחזירה את ערך השורה הנוכחית בקובץ.
לדוגמא, השיטה יעילה עבור לולאה שתרוץ עד מספר שורות מסוים עבור נתונים רלוונטיים.
לשם הדוגמא נוסיף לקובץ את המשפט "Hello World 2004".
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,1,False) Response.Write File.ReadLine File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,1,false); Response.Write(File.ReadLine()); File = null; delete File; fso = null; delete fso;
בדוגמא הדפסנו את השורה הנוכחית בקובץ ומאחר והשורה הנוכחית בקובץ היא הראשונה נקבל את הפלט "Hello World 2004".
השיטה Skip:
השיטה מדלגת על מספר תווים מתחילת הקובץ לפי המספר המוגדר לה.
לשם הדוגמא נוסיף לקובץ את המשפט "Hello World 2004".
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,1,False) File.Skip(6) Response.Write File.ReadLine File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,1,false); File.Skip(6); Response.Write(File.ReadLine()); File = null; delete File; fso = null; delete fso;
בדוגמא דילגנו על 6 תווים מתחילת הקובץ והדפסנו את השורה הנוכחית והיחידה שיש בקובץ. הפלט בדוגמא יהיה "World 2004".
השיטה SkipLine:
השיטה מדלגת על שורה שלמה בקובץ.
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,1,False) File.SkipLine File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,1,false); File.SkipLine(); File = null; delete File; fso = null; delete fso;
בדוגמא ביצענו דילוג על שורה אחת בלבד בקובץ.
השיטה Write:
השיטה כותבת לתוך הקובץ מחרוזת אשר מוגדרת לה.
הערה: במידה ולא תתבצע סגירת אובייקט (Close) תתקבל שגיאה והקובץ לא יתעדכן.
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,2,True) File.Write("Hello World 2004") File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,2,true); File.Write("Hello World 2004"); File = null; delete File; fso = null; delete fso;
בדוגמא הגדרנו את הקובץ לכתיבה וכתבנו לתוכו שורת מחרוזת אחת.
השיטה WriteLine:
השיטה כותבת לקובץ שורת מחרוזת אחת (אלא אם כן הוגדרו יותר מאחת).
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,8,False) File.WriteLine("Hello World 2004") File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,8,false); File.WriteLine("Hello World 2004"); File = null; delete File; fso = null; delete fso;
בדוגמא הוספנו לסוף הקובץ שורת מחרוזת אחת.
השיטה WriteBlankLines:
השיטה כותבת מספר שורות ריקות לתוך הקובץ לפי המוגדר לה.
דוגמא לשימוש:
Dim FSO, File Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set File = FSO. OpenTextFile(Path,8,False) File.WriteBlankLines 2 File.Close Set File = Nothing Set FSO = Nothing
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File = fso.OpenTextFile(Path,8,false); File.WriteBlankLines(2); File = null; delete File; fso = null; delete fso;
בדוגמא הגדרנו לשיטה שתכתוב 2 שורות ריקות בסוף הקובץ.
תגובות בפייסבוק