NET/קבצים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Effib (שיחה | תרומות)
הרחבה
הסרת כל התוכן מדף זה
שורה 1:
לדוט נט ספריות עשירות לטיפול בקבצים, החל מטיפול בקבצים ואיתורם, ועד לטעינתם לזכרון או כתיבתם לדיסק, ועד פונקציות לטיפול בשמות קבצים או ספריות.
 
* ספריית '''IO.File'''
* ספריית '''FileIO.FileSystem'''
* ספריית '''System.IO.Path'''
 
וקיצור דרך : My.Computer.FileSystem
 
===VB===
 
==עבודה עם קבצים==
 
'''מחלקת IO.File''' מכילה בעיקר שיטות לעבודה עם קבצים, כמו יצירה, מחיקה, העתקה והעברה:
 
<source lang="vbnet">
 
* יצירת קובץ חדש
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()
 
</source>
 
 
===עבודה עם ספריות וקבצים מתקדמים===
 
מחלקת '''FileIO.FileSystem''' מכילה שיטות לעבודה עם ספריות וכן עבודה מתקדמת עם קבצים.
 
* עבודה עם ספריות, כמו יצירת ספריה, העתקה, העברה וכדומה:
 
<source lang="vbnet">
* נתונים על הכונן המבוקש
Drives()
 
* יצירת ספריה
CreateDirectory()
 
* בדיקת קיימות של ספריה
DirectoryExists()
 
* העתקה של ספריה
CopyDirectory()
 
* העברה של ספריה
MoveDirectory()
 
* מחיקת ספריה
DeleteDirectory()
 
* שינוי שם של ספריה
RenameDirectory()
 
* ספריה נוכחית
CurrentDirectory()
 
* מיזוג של ספריות
CombinePath()
 
*שליפת רשימת ספריות
GetDirectories()
 
* שם של ספריית הורה
GetParentPath()
</source>
 
*עבודה עם קבצים, כמו קבלת רשימת קבצים בספריה, יצירת קובץ זמני, עבודה עם סטרים, וקריאת ושמירת קבצים:
<source lang="vbnet">
* שליפת נתוני קובץ
GetFileInfo()
 
* קבלת רשימת קבצים
GetFiles()
 
* יצירת קובץ זמני בעל שם יחודי והחזרת שמו
GetTempFileName()
 
OpenTextFieldParser()
OpenTextFileReader()
 
* קריאת כל הקובץ אל מערך מספרי
ReadAllBytes()
 
* קריאת כל הקובץ למחרוזת
ReadAllText()
 
* כתיבת כל הקובץ ממערך מספרי
WriteAllBytes()
 
* כתיבת כל הקובץ ממחרוזת
WriteAllText()
 
* חיפוש תוכן בתוך קבצים (דוגמה בהמשך)
FindInFiles()
</source>
 
 
===דוגמאות===
 
==== חיפוש קבצים בספריות ====
בכדי לקבל רשימה של כל הקבצים הנמצאים בספריה מסויימת ישנן כמה אפשרויות.
האפשרות המהירה ביותר היא להשתמש בפקודת GetFiles, הנמצאת במחלקה My.Computer.FileSystem.
להלן פונקציה המחזירה את כל הקבצים מסוג htm הנמצאים בספריה מסוימת ובכל תתי הספריות שמתחתיה.
 
<source lang="vbnet">
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
</source>
 
 
==== טעינת קובץ טקסט למחרוזת ====
בכדי לטעון קובץ שלם מהדיסק למחרוזת יש להשתמש בפקודה הבאה:
<source lang="vbnet">
Dim FileContent As String = IO.File.ReadAllText("c:\test.txt")
</source>
 
ישנן פקודות נוספות בכדי לטעון שורה שורה, או את הקובץ בצורה של בתים למערך בתים. דרך שהיא המהירה ביותר לטעון קובץ לזכרון.
 
 
==== כתיבת מחרוזת לקובץ טקסט ====
בכדי לשכתב מחרוזץת על קובץ קיים יש להשתמש בפקודה הבאה:
<source lang="vbnet">
Dim FileContent As String ="abcd"
IO.File.WriteAllText("c:\test.txt", FileContent)
</source>
 
כמו כן, ישנן אפשרויות נוספות לשמור קבצים בצורה של שורות בודדות או בצורה של בתים.
 
 
==== חיפוש תוכן בתוך קבצים ====
 
בדוט נט קיימת פקודה מיוחדת שמאפשרת לאתר קבצים שמכילים תוכן מסויים בשם FindInFiles, הפקודה מחפשת בתיקיות ומחזירה רשימה של קבצים שמכילים את התוכן המבוקש
 
<source lang="vbnet">
FileIO.FileSystem.FindInFiles("C:\Documents and Settings", _
"אנציקלופדיה", True, FileIO.SearchOption.SearchTopLevelOnly)
</source>
 
 
 
[[קטגוריה:NET]]