NET/קבצים
תכנות בסביבת NET |
---|
|
לדוט נט ספריות עשירות לטיפול בקבצים, החל מטיפול בקבצים ואיתורם, ועד לטעינתם לזכרון או כתיבתם לדיסק, ועד פונקציות לטיפול בשמות קבצים או ספריות.
- ספריית IO.File
- ספריית FileIO.FileSystem
- ספריית System.IO.Path
וקיצור דרך : My.Computer.FileSystem
VB
עריכהעבודה עם קבצים
עריכהמחלקת IO.File מכילה בעיקר שיטות לעבודה עם קבצים, כמו יצירה, מחיקה, העתקה והעברה:
* יצירת קובץ חדש
IO.File.Create()
* - בדיקת קיום של קובץ
IO.File.Exists()
* - העתקת קובץ
IO.File.Copy()
* - העברת קובץ
IO.File.Move()
* - מחיקת קובץ
IO.File.Delete()
* החלפת קובץ
IO.File.Replace()
* הוספת טקסט לקובץ
IO.File.AppendText()
* קביעת מאפייני קובץ
** IO.File.SetCreationTime()
** הפיכת קובץ לנסתר
IO.File.SetAttributes("c:\text.txt", IO.FileAttributes.Hidden)
* שליפת מאפייני קובץ
IO.File.GetAttributes("c:\text.txt")
** - שליפת זמן יצירת הקובץ
IO.File.GetCreationTime()
עבודה עם ספריות וקבצים מתקדמים
עריכהמחלקת FileIO.FileSystem מכילה שיטות לעבודה עם ספריות וכן עבודה מתקדמת עם קבצים.
- עבודה עם ספריות, כמו יצירת ספריה, העתקה, העברה וכדומה:
* נתונים על הכונן המבוקש
Drives()
* יצירת ספריה
CreateDirectory()
* בדיקת קיימות של ספריה
DirectoryExists()
* העתקה של ספריה
CopyDirectory()
* העברה של ספריה
MoveDirectory()
* מחיקת ספריה
DeleteDirectory()
* שינוי שם של ספריה
RenameDirectory()
* ספריה נוכחית
CurrentDirectory()
* מיזוג של ספריות
CombinePath()
*שליפת רשימת ספריות
GetDirectories()
* שם של ספריית הורה
GetParentPath()
- עבודה עם קבצים, כמו קבלת רשימת קבצים בספריה, יצירת קובץ זמני, עבודה עם סטרים, וקריאת ושמירת קבצים:
* שליפת נתוני קובץ
GetFileInfo()
* קבלת רשימת קבצים
GetFiles()
* יצירת קובץ זמני בעל שם יחודי והחזרת שמו
GetTempFileName()
OpenTextFieldParser()
OpenTextFileReader()
* קריאת כל הקובץ אל מערך מספרי
ReadAllBytes()
* קריאת כל הקובץ למחרוזת
ReadAllText()
* כתיבת כל הקובץ ממערך מספרי
WriteAllBytes()
* כתיבת כל הקובץ ממחרוזת
WriteAllText()
* חיפוש תוכן בתוך קבצים (דוגמה בהמשך)
FindInFiles()
דוגמאות
עריכהחיפוש קבצים בספריות
עריכהבכדי לקבל רשימה של כל הקבצים הנמצאים בספריה מסויימת ישנן כמה אפשרויות. האפשרות המהירה ביותר היא להשתמש בפקודת GetFiles, הנמצאת במחלקה My.Computer.FileSystem. להלן פונקציה המחזירה את כל הקבצים מסוג htm הנמצאים בספריה מסוימת ובכל תתי הספריות שמתחתיה.
Public Function MapFilesInDirectory(ByVal Dir As String) As String()
Dim AllDiscoveredFiles() As String
With My.Computer.FileSystem
If dir <> "" Then
Dim tmp As New ArrayList
For Each FoundFile As String In .GetFiles(dir, _
FileIO.SearchOption.SearchAllSubDirectories, "*.htm")
tmp.Add(FoundFile)
Next
ReDim AllDiscoveredFiles(tmp.Count - 1)
For i As Integer = 0 To tmp.Count - 1
AllDiscoveredFiles(i) = tmp(i)
Next
End If
Return AllDiscoveredFiles
End With
End Function
טעינת קובץ טקסט למחרוזת
עריכהבכדי לטעון קובץ שלם מהדיסק למחרוזת יש להשתמש בפקודה הבאה:
Dim FileContent As String = IO.File.ReadAllText("c:\test.txt")
ישנן פקודות נוספות בכדי לטעון שורה שורה, או את הקובץ בצורה של בתים למערך בתים. דרך שהיא המהירה ביותר לטעון קובץ לזכרון.
כתיבת מחרוזת לקובץ טקסט
עריכהבכדי לשכתב מחרוזץת על קובץ קיים יש להשתמש בפקודה הבאה:
Dim FileContent As String ="abcd"
IO.File.WriteAllText("c:\test.txt", FileContent)
כמו כן, ישנן אפשרויות נוספות לשמור קבצים בצורה של שורות בודדות או בצורה של בתים.
חיפוש תוכן בתוך קבצים
עריכהבדוט נט קיימת פקודה מיוחדת שמאפשרת לאתר קבצים שמכילים תוכן מסויים בשם FindInFiles, הפקודה מחפשת בתיקיות ומחזירה רשימה של קבצים שמכילים את התוכן המבוקש
FileIO.FileSystem.FindInFiles("C:\Documents and Settings", _
"אנציקלופדיה", True, FileIO.SearchOption.SearchTopLevelOnly)