Разделы презентаций


Работа с файлами в.NET Потоки Текстовые файлы Бинарные файлы Операции с

Содержание

Потоки (Streams)Пространство имен: using System.IO;

Слайды и текст этой презентации

Слайд 1Работа с файлами в .NET

Потоки
Текстовые файлы
Бинарные файлы
Операции с файлами
Работа

с файловой системой

Работа с файлами в .NETПотокиТекстовые файлы Бинарные файлыОперации с файламиРабота с файловой системой

Слайд 2Потоки (Streams)
Пространство имен: using System.IO;

Потоки (Streams)Пространство имен: using System.IO;

Слайд 3Потоки (Streams)

Потоки (Streams)

Слайд 4Файлы
Файл - именованная область внешней памяти ПК либо логическое устройство

(источник или приемник информации).

Файл - последовательность байт (мы можем трактовать

ее по-разному).

Классификация файлов компонент .NET
(аналог в языке Pascal):
_______________________________________________________________

текстовые файлы  TextReader, TextWriter
типизированные файлы  BinaryReader, BinaryWriter
нетипизированные файлы  FileStream

ФайлыФайл - именованная область внешней памяти ПК либо логическое устройство (источник или приемник информации).Файл - последовательность байт

Слайд 5Некоторые особенности файлов
При описании файловой переменной неявно описывается скрытая переменная,


которая хранит текущий указатель файла (адрес текущего элемента файла).
Если операции

выполняются над файлом покомпонентно, то в действии участвует
тот компонент, который обозначен текущим указателем;

При открытии файла ОС устанавливает каждому открываемому файлу обработчик
с определенным номером, называемый дескриптором файла. Этот обработчик
осуществляет операции обмена данными через буфер ввода-вывода.

Некоторые особенности файловПри описании файловой переменной неявно описывается скрытая переменная, которая хранит текущий указатель файла (адрес текущего

Слайд 6Доступ к компонентам файла

Текстовые
Предназначены для хранения текстовой информации. Компоненты-строки
текстового

файла могут иметь произвольную длину, поэтому доступ к ним
возможен лишь

последовательный

Типизированные
Предназначены для хранения компонентов любого типа; если компоненты однотипны, то можно организовать прямой доступ

Нетипизированные
Отличаются от остальных тем, что для них не указан тип компонентов. Данные,
которые хранятся в таком файле, обрабатываются блоками по N байт. Доступ к
блокам прямой.

Доступ к компонентам файла может быть как последовательным, так и прямым.
При последовательном доступе текущий указатель файла может перемещаться
только последовательно; при прямом – произвольно.

Следующие типы файлов различаются организацией хранения данных и
способом доступа:

Доступ к компонентам файла ТекстовыеПредназначены для хранения текстовой информации. Компоненты-строкитекстового файла могут иметь произвольную длину, поэтому доступ

Слайд 7Операции с файлами

Открытие / закрытие файла


Чтение / запись в

файл


Перемещение по файлу



Операции с файлами Открытие / закрытие файлаЧтение / запись в файл	Перемещение по файлу

Слайд 8FileStream

FileStream

Слайд 9FileStream
/// Создание файла (открытие нового файла)

FileStream file = new FileStream(@"d:\myfile.dat",

FileMode.Create);

/// Запись в файл (поток) 3 байт

file.WriteByte( 12 );
file.WriteByte( 15

);
file.WriteByte( 29 );

file.Close(); /// Закрытие файла


/// Открытие (существующего) файла

FileStream fileToRead = new FileStream(@"d:\myfile.dat", FileMode.Open);

/// Чтение из файла всех байт

for ( int i=0; i Console.WriteLine( fileToRead.ReadByte() );

fileToRead.Close(); /// Закрытие файла
FileStream/// Создание файла (открытие нового файла)FileStream file = new FileStream(@

Слайд 10FileStream
Содержимое файла D:\myfile.dat

Там всего 3 байта (не ASCII-коды символов), поэтому

в «блокноте» крокозябры

FileStreamСодержимое файла D:\myfile.datТам всего 3 байта (не ASCII-коды символов), поэтому в «блокноте» крокозябры

Слайд 11FileStream
Содержимое файла D:\myfile.dat

Если мы запишем 3 байта: 65, 66 и

67
(это ASCII-коды символов A,B,C), то результат будет более наглядным

FileStreamСодержимое файла D:\myfile.datЕсли мы запишем 3 байта: 65, 66 и 67 (это ASCII-коды символов A,B,C), то результат

Слайд 12StreamReader и StreamWriter
// 1) FileStream fs = new FileStream(@"d:\myfile.txt", FileMode.Create

);
StreamWriter file = new StreamWriter( fs );

//

2) StreamWriter file = new StreamWriter( @"d:\myfile.txt" );

// 3)
StreamWriter file = File.CreateText( @"d:\myfile.txt" );

file.WriteLine( "ABC" );
file.WriteLine( "and other stuff" );
file.WriteLine( "that's all!" );

file.Close();


StreamReader fileToRead = File.OpenText( @"d:\myfile.txt" );

string allLines = fileToRead.ReadToEnd();
Console.WriteLine( allLines );

fileToRead.Close();
StreamReader и StreamWriter// 1) FileStream fs = new FileStream(@

Слайд 13StreamReader и StreamWriter
while ( !fileToRead.EndOfStream )

Console.WriteLine( fileToRead.ReadLine() );

StreamReader и StreamWriterwhile ( !fileToRead.EndOfStream )        Console.WriteLine( fileToRead.ReadLine() );

Слайд 14Бинарные файлы
FileStream fss = new FileStream(@"d:\myfile.dat", FileMode.Create);
BinaryWriter file = new

BinaryWriter(fss);

file.Write( (int)15 );

double d = 34.45;
file.Write( d );
file.Write( "that's all!"

);

file.Close();



FileStream fssRead = new FileStream(@"d:\myfile.dat", FileMode.Open);
BinaryReader fileToRead = new BinaryReader(fssRead);

int x1 = fileToRead.ReadInt32(); // x1 = 15
double x2 = fileToRead.ReadDouble(); // x2 = 34.45
string x3 = fileToRead.ReadString(); // x3 = "that's all"

fileToRead.Close();
Бинарные файлыFileStream fss = new FileStream(@

Слайд 15Бинарные файлы

Бинарные файлы

Слайд 16Прямой (произвольный) доступ

Прямой (произвольный) доступ

Слайд 17Перемещение по файлу
FileStream fssRead = new FileStream(@"d:\myfile.dat", FileMode.Open);
BinaryReader fileToRead =

new BinaryReader(fssRead);


fssRead.Seek(4, SeekOrigin.Begin); // пропускаем

4 байта


double x2 = fileToRead.ReadDouble(); // x2 = 34.45
string x3 = fileToRead.ReadString(); // x3 = "that's all“

fileToRead.Close();
Перемещение по файлуFileStream fssRead = new FileStream(@

Слайд 18Работа с файловой системой
bool File.Exists (string path); void File.Delete (string path); void

File.Copy (string sourceFileName, string destFileName); void File.Move (string sourceFileName, string destFileName); void

File.Replace (string sourceFileName, string destinationFileName, string destinationBackupFileName);
FileAttributes File.GetAttributes (string path); void File.SetAttributes (string path, FileAttributes fileAttributes); void File.Decrypt (string path); void File.Encrypt (string path);

Операции с ФАЙЛАМИ

Работа с файловой системойbool File.Exists (string path); void File.Delete (string path); void File.Copy (string sourceFileName, string destFileName);

Слайд 19Работа с файловой системой
DateTime File.GetCreationTime (string path); DateTime File.GetLastAccessTime (string

path); DateTime File.GetLastWriteTime (string path);
void File.SetCreationTime (string path, DateTime creationTime); void

File.SetLastAccessTime (string path, DateTime lastAccessTime); void File.SetLastWriteTime (string path, DateTime lastWriteTime);
FileSecurity File.GetAccessControl (string path); void File.SetAccessControl (string path, FileSecurity fileSecurity);
Работа с файловой системойDateTime File.GetCreationTime (string path);  DateTime File.GetLastAccessTime (string path);  DateTime File.GetLastWriteTime (string path);

Слайд 20Работа с файловой системой
string Directory.GetCurrentDirectory (); void Directory.SetCurrentDirectory (string path); DirectoryInfo Directory.CreateDirectory

(string path); DirectoryInfo Directory.GetParent (string path); string Directory.GetDirectoryRoot (string path); string[] Directory.GetLogicalDrives();
Операции с

ДИРЕКТОРИЯМИ
Работа с файловой системойstring Directory.GetCurrentDirectory (); void Directory.SetCurrentDirectory (string path); DirectoryInfo Directory.CreateDirectory (string path); DirectoryInfo Directory.GetParent (string

Слайд 21Работа с файловой системой
string[] Directory.GetFiles (string path); string[] Directory.GetDirectories (string path); string[]

Directory.GetFileSystemEntries (string path);
IEnumerable Directory.EnumerateFiles (string path); IEnumerable Directory.EnumerateDirectories (string path); IEnumerable Directory.EnumerateFileSystemEntries

(string path);
Работа с файловой системойstring[] Directory.GetFiles (string path); string[] Directory.GetDirectories (string path); string[] Directory.GetFileSystemEntries (string path);IEnumerable Directory.EnumerateFiles (string

Слайд 22FileInfo, DirectoryInfo
FileInfo fi = new FileInfo(@"c:\temp\FileInfo.txt");

Console.WriteLine(fi.Name); // FileInfo.txt Console.WriteLine(fi.FullName); // c:\temp\FileInfo.txt Console.WriteLine(fi.DirectoryName); //

c:\temp Console.WriteLine(fi.Directory.Name); // temp Console.WriteLine(fi.Extension); // .txt Console.WriteLine(fi.Length); // 9

FileInfo, DirectoryInfoFileInfo fi = new FileInfo(@

Слайд 23Пример 1
if ( File.Exists(@"d:\myfile.txt") )
{
Directory.CreateDirectory( @"d:\TEMP" );
File.Move( @"d:\myfile.txt", @"d:\TEMP\myfile.txt" );

FileInfo

info = new FileInfo(@"d:\TEMP\myfile.txt");

Console.WriteLine("Size: " + info.Length + " bytes");
Console.WriteLine(

info.LastAccessTime );
Console.WriteLine( info.DirectoryName );
}
Пример 1if ( File.Exists(@

Слайд 24Пример 2
foreach ( string dirname in Directory.EnumerateDirectories( @"C:\Program Files\" )

)
{
DirectoryInfo info = new DirectoryInfo( dirname );
Console.WriteLine( info.Name );

foreach (string

filename in Directory.EnumerateFiles(dirname))
{
Console.WriteLine( "\t" + filename );
}
}
Пример 2foreach ( string dirname in Directory.EnumerateDirectories( @

Слайд 25Работа с полными именами файлов (Path)
string dir = @"c:\mydir"; string file

= "myfile.txt"; string path = @"c:\mydir\myfile.txt";
Directory.SetCurrentDirectory (@"k:\demo");

Работа с полными именами файлов (Path)string dir = @

Слайд 26Работа с полными именами файлов (Path)
string dir = @"c:\mydir"; string file

= "myfile.txt"; string path = @"c:\mydir\myfile.txt";
Directory.SetCurrentDirectory (@"k:\demo");

Работа с полными именами файлов (Path)string dir = @

Слайд 27Работа с полными именами файлов (Path)
string dir = @"c:\mydir"; string file

= "myfile.txt"; string path = @"c:\mydir\myfile.txt";
Directory.SetCurrentDirectory (@"k:\demo");

Работа с полными именами файлов (Path)string dir = @

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика