Ако селектираме File
в колоната Class Name, можем да
разгледаме информацията в съседната колона SelectedClass. Кодът е на C#, но по същество не е различен от този на VB.NET.
Първото което забелязваме е, че класът не може да бъде
наследяван - той е запечатан (saled).
Второто, което забелязваме, че е наследен от System.Object. след това се вижда че няма нито полета
нито конструктори.
След като няма конструктор, значи не можем да създаваме нова
инстанция на класа. Този клас е статичен - една единствена инстанция на класа
се споделя навсякъде в програмата. Методите на класа са също статични.
from module
'c:windowsmicrosoft.netframeworkv1.1.4322mscorlib.dll'
public sealed class System.IO.File :
object
{
//
Fields
//
Constructors
//
Methods
public
static System.IO.StreamWriter AppendText(string
path);
public
static void Copy(string sourceFileName, string destFileName);
public
static void Copy(string sourceFileName, string destFileName, bool
overwrite);
public
static System.IO.FileStream Create(string
path);
public
static System.IO.FileStream Create(string
path, int bufferSize);
public
static System.IO.StreamWriter CreateText(string
path);
public
static void Delete(string path);
public
virtual bool Equals(object obj);
public
static bool Exists(string path);
public
static System.IO.FileAttributes GetAttributes(string
path);
public
static DateTime GetCreationTime(string
path);
public
static DateTime GetCreationTimeUtc(string
path);
public
virtual int GetHashCode();
public
static DateTime GetLastAccessTime(string
path);
public
static DateTime GetLastAccessTimeUtc(string
path);
public
static DateTime GetLastWriteTime(string
path);
public
static DateTime GetLastWriteTimeUtc(string
path);
public Type
GetType();
public
static void Move(string sourceFileName, string destFileName);
public
static System.IO.FileStream Open(string
path, System.IO.FileMode mode);
public
static System.IO.FileStream Open(string
path, System.IO.FileMode mode, System.IO.FileAccess access);
public
static System.IO.FileStream Open(string
path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare
share);
public
static System.IO.FileStream OpenRead(string
path);
public
static System.IO.StreamReader OpenText(string
path);
public
static System.IO.FileStream OpenWrite(string
path);
public
static void SetAttributes(string path,
System.IO.FileAttributes fileAttributes);
public
static void SetCreationTime(string path,
DateTime creationTime);
public
static void SetCreationTimeUtc(string path,
DateTime creationTimeUtc);
public
static void SetLastAccessTime(string
path, DateTime lastAccessTime);
public
static void SetLastAccessTimeUtc(string
path, DateTime lastAccessTimeUtc);
public
static void SetLastWriteTime(string
path, DateTime lastWriteTime);
public
static void SetLastWriteTimeUtc(string
path, DateTime lastWriteTimeUtc);
public
virtual string ToString();
} // end of System.IO.File
Нека да разгледаме първия метод - AppendText. Той е публичен, следователно можем да имаме достъп до
него в нашите програми. Понеже е статичен и не можем да създаваме нова
инстанция от него, трябва да го декларираме и да създадем променлива от
тип StreamWriter и да й зададем връщаната от AppendText стойност.
Но да не губим време, а да напишем малко код и създадем
програмка за работа с текстови файлове.
Нека формата да съдържа три бутона (виж фигура 78)
Фигура 78 Формата с три бутона и надпис Files&Streams
Разгледайте кода. Щракването върху бутон btnCreateFile създава текстовия
файл Text.txt на диск С. Щракването върху бутон btnShowFile
предизвиква
отваряне и четене на създадения файл Text и показване на неговото съдържание в
съобщителна кутия (виж фигура 79)
Фигура 79
Щракването върху бутон btnCopy копира текстовия файл Text.txt
на диск С във файл TextCopy.txt
Option
Explicit On
Option
Strict On
Imports
System.IO
Public
Class frmFileStream
Inherits System.Windows.Forms.Form
Region " Windows Form Designer generated code
"
Private Sub
btnCreateFile_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnCreateFile.Click
Dim strFileName As String = "C:Text.txt"
Dim fileStreamWriter As
StreamWriter = File.AppendText(strFileName)
With fileStreamWriter
.WriteLine("This is my first textline
in Text File")
.WriteLine("O o pa! The second line")
.Flush()
.Close()
End With
End Sub
Private Sub
btnShowFile_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnShowFile.Click
Dim strFileName As String = "C:Text.txt"
Dim fileStreamReader As
StreamReader = File.OpenText(strFileName)
Dim sFileContents As String
sFileContents =
fileStreamReader.ReadToEnd
fileStreamReader.Close()
MessageBox.Show(sFileContents)
End Sub
Private Sub
btnCopy_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles
btnCopy.Click
Dim sSource As String = "C:Text.txt"
Dim sDestination As String = "C:TextCopy.txt"
File.Copy(sSource, sDestination, True)
End Sub
End
Class