Description |
Returns a FileStream object configured to suit the file Mode, Access and Share atributes required.
These have the following values :
FileAccess :
Read | Read only access |
Write | Write only access |
ReadWrite | Read and write access |
FileMode :
Append | Append to the end of the file |
Create | Create as new, or overwrite if it exists |
CreateNew | Create as new - throws exception if it exists |
Open | Opens an existing file |
OpenOrCreate | Cerate as new or open if the file exists |
Truncate | Open an existing file and reduce to zero bytes |
FileShare :
None | Current access is exclusive |
Read | Others may concurrently read the file |
Write | Others may concurrently write to the file |
ReadWrite | Others may concurrently read and write to the file |
Inheritable | Allows teh file handle to be inherited by child processes |
|
| References | FileAccess
FileMode
FileShare
|
|
Microsoft MSDN Links |
System.IO
System.IO.FileInfo
|
|
|
A simple example |
program Project1;
{$APPTYPE CONSOLE}
uses
System.IO;
var
FileInfo : System.IO.FileInfo;
Stream : System.IO.FileStream;
MyByte : Integer;
begin
// Create a FileInfo object for a text file
FileInfo := System.IO.FileInfo.Create('C:\DelphiBasics.txt');
// Open the file for writing
Stream := FileInfo.OpenWrite;
// Write to the file
Stream.WriteByte(65); // Chr(65) = 'A'
Stream.WriteByte(66); // Chr(66) = 'B'
Stream.WriteByte(67); // Chr(67) = 'C'
// Close the file
Stream.Close;
// Re-open for reading
Stream := FileInfo.Open(System.IO.FileMode.Open,
System.IO.FileAccess.Read,
System.IO.FileShare.None);
// Display the contents
MyByte := Stream.ReadByte;
while MyByte >= 0 do
begin
Console.Write(Char(MyByte));
MyByte := Stream.ReadByte;
end;
// Close the stream
Stream.Close;
Console.Readline;
end.
| Show full unit code | ABC
|
|
|
|