Работа с файлами

Содержание

Слайд 2

Управляющие элементы OpenFileDialog, SaveFileDialog- открывает диалоговое окно и предоставляет путь к

Управляющие элементы

OpenFileDialog, SaveFileDialog- открывает диалоговое окно и предоставляет путь к файлу;
Свойства:

InitialDirectory имя папки, которая открывается при первом использовании окна;
Title - заголовок окна;
Filter – установка фильтра;
Filterlndex – № фильтра по умолчанию (если несколько фильтров).
Методы: ShowDialog, FileName
Слайд 3

Открытие файла для чтения FileOpen(номер_файла, путь, режим) номер_файла - это число

Открытие файла для чтения

FileOpen(номер_файла, путь, режим)
номер_файла - это число от 1 до

255.
путь - путь, по которому можно найти файл.
режим - это ключевое слово, указывающее на то, как файл будет использоваться.
OpenMode.Input – чтение из файла и
OpenMode.Output- запись в файл)
Слайд 4

Пример Dim ff, tt as string OpenFileDialog1.Title = "Select a File"

Пример

Dim ff, tt as string
OpenFileDialog1.Title = "Select a File"
OpenFileDialog1.Filter =

"файлы (*.TXT)|*.TXT«
OpenFileDialog1.ShowDialog()
If OpenFileDialog1.FileName <> "" Then
Try
FileOpen(1, OpenFileDialog1.FileName, OpenMode.Input)
Do Until EOF(1)
ff = LineInput(1)
tt = tt & ff & vbCrLf
Loop
tst.Text = OpenFileDialog1.FileName
tst.Text = tt
Catch
MsgBox("Ошибка открытия файла.")
Finally
FileClose(1) 'закрываем файл
End Try
End If
Слайд 5

Открытие файла для записи SaveFileDialog1.Filter = “(*.txt)|*.txt” SaveFileDialog1.ShowDialog() If SaveFileDialog1.FileName ""

Открытие файла для записи

SaveFileDialog1.Filter = “(*.txt)|*.txt”
SaveFileDialog1.ShowDialog()
If SaveFileDialog1.FileName <> "" Then FileOpen(1,

SaveFileDialog1.FileName,_ OpenMode.Output)
PrintLine(1, tst.Text) FileClose(1)
End If
Слайд 6

Некоторые классы потоковых устройств

Некоторые классы потоковых устройств

Слайд 7

Класс StreamReader Большинство классов, представляющих устройства ввода-вывода, являются производными от класса

Класс StreamReader

Большинство классов, представляющих устройства ввода-вывода, являются производными от класса

System. I0. Stream. Этот класс интерпретирует устройство как поток байтов (доступный для чтения или записи) и позволяет выполнять следующие операции:
 чтение одного или нескольких байтов данных;
 запись одного или нескольких байтов данных;
 асинхронное чтение или запись (с дополнительной возможностью оповещения о завершении операции);
 физическая запись данных из промежуточного буфера на устройство;
 переход к заданной позиции в потоке данных;
 закрытие потока (устройства) после завершения всех операций.
Слайд 8

Методы класса TextReader Close- закрывает поток и освобождает системные ресурсы Peek-

Методы класса TextReader

Close- закрывает поток и освобождает системные ресурсы
Peek- возвращает следующий

символ в потоке без смещения указателя
Read- читает один символ из потока
ReadLine- читает строку
ReadToEnd- читает файл целиком
Слайд 9

Методы класса TextWrite Close – закрывает поток и освобождает ресурсы Write-

Методы класса TextWrite

Close – закрывает поток и освобождает ресурсы
Write- записывает в

поток любые базовые типы данных в текстовом формате
Writine - записывает в поток любые базовые типы данных в текстовом формате, за которыми записывается CRLF
Слайд 10

Класс StreamReader StreamReader класс из библиотеки .NET Framework, для его использования

Класс StreamReader

StreamReader класс из библиотеки .NET Framework, для его использования необходимо

подключить библиотеку
Imports System.IO
Пример, вывод текстового файла в текстовое поле
Dim St As StreamReader
St = New StreamReader("D:\r.txt")
tst.Text = St.ReadToEnd
St.Close()
tst.Select(0, 0)
Слайд 11

Запись в файл Dim St As StreamWriter St = New StreamWriter("D:\r1.txt") St.Write(tst.Text) St.Close() tst.Select(0, 0)

Запись в файл

Dim St As StreamWriter
St = New StreamWriter("D:\r1.txt")

St.Write(tst.Text)
St.Close()
tst.Select(0, 0)
Слайд 12

Классы для работы с файлами System.I0.Directory и System.IO.Directorylnfo Классы предназначены для

Классы для работы с файлами

System.I0.Directory и System.IO.Directorylnfo
Классы предназначены для выполнения различных

операций с каталогами, в том числе создания, удаления и перемещения каталогов. Кроме того, они позволяют получить или задать время создания и последней модификации каталога.
Слайд 13

Классы для работы с файлами System.IO.File и System.IO.Filelnfo Классы предназначены для

Классы для работы с файлами

System.IO.File и System.IO.Filelnfo
Классы предназначены для выполнения различных

операций с файлами, в том числе создания, удаления, копирования, перемещения и проверки существования файлов. Также с их помощью можно открывать файлы (функции открытия файлов возвращают объекты System. I0. FileStream, используемые при последующих операциях чтения и записи).
Слайд 14

Классы для работы с файлами System. IO.FileSystemlnfo Базовый класс для классов

Классы для работы с файлами

System. IO.FileSystemlnfo
Базовый класс для классов System.I0.DirectoryInfo и

System. I0. Filelnfo. Используется при перемещении в иерархии каталогов для получения информации о каталогах и файлах.
Слайд 15

Классы для работы с файлами System.IO.FileSystemWatcher Класс предназначен для отслеживания событий

Классы для работы с файлами

System.IO.FileSystemWatcher
Класс предназначен для отслеживания событий файловой системы

(создания, удаления и модификации файлов).
Слайд 16

Проверка наличия файла Private Function SourceFileExists() As Boolean If Not (System.IO.File.Exists(tst.Text))

Проверка наличия файла

Private Function SourceFileExists() As Boolean
If Not (System.IO.File.Exists(tst.Text)) Then

MsgBox("The source fil e does not exist!", MsgBoxStyle.Exclamation)
Else
SourceFileExists = True
Return (SourceFileExists)
End If
End Function
Слайд 17

Копирование файлов Файлы копируются с помощью метода Сору () объекта System.IO.

Копирование файлов

Файлы копируются с помощью метода
Сору () объекта System.IO. File


If Not {SourceFileExists()} Then Exit Sub
System.I0.File.Copy(tst.Text, tstn.Text)
MsgBox(“The file has been successfully copied.")
Слайд 18

Перемещение файлов При перемещении файла он удаляется из папки, в которой

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

При перемещении файла он удаляется из папки, в которой находится,

и помещается в новую. При этом можно оставить ему прежнее имя, можно изменить. Перемещение файла выполняется методом Move () объекта System.IO. File.
If Not (SourceFileExists{)) Then Exit Sub
System.I0.File.Move(tst.Text, tstn.Text}
MsgBox("The file has been successfully moved.")
Слайд 19

Переименование файла Когда файл переименовывается, то с его содержимым ничего не

Переименование файла

Когда файл переименовывается, то с его содержимым ничего не происходит.

Он остается в той же папке, изменяется только его имя. Для переименования файла используется метод Move( )
Для этого надо указать имя файла и оставить его путь без изменений.
Слайд 20

Удаление файлов Метод Delete () физически удаляет файлы If Not SourceFileExists()

Удаление файлов

Метод Delete () физически удаляет файлы
If Not SourceFileExists() Then Exit

Sub
If MsgBox (“Are you sure you want to delete the source file?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
System.I0.FileDelete(tst.Text)
MsgBox("The file has been successfully deleted.")
End If
Слайд 21

Свойства файла Сведения о файле доступные через объект File

Свойства файла

Сведения о файле доступные через объект File

Слайд 22

Работа с папками, используя объект Directory создать папку System.IO.Directory.CreateDirectory("с:\my direct") существует

Работа с папками, используя объект Directory

создать папку
System.IO.Directory.CreateDirectory("с:\my direct")
существует ли папка
MsgBox(System.IO.Directory.Exists("с:\temp")
переместить папку
System.IO.Directory.Move("c:\dir1","d:\dir2")
Удалить

папку
System.I0.Directory.Delete("с:\temp")
Слайд 23

Процедуры и функции Функция всегда возвращает некоторое значение или 0, если

Процедуры и функции

 Функция всегда возвращает некоторое значение или 0, если возвращаемое

значение не указано. Процедуры никогда не возвращают значений
х = F(Y) ' Результат используется
F(Y) ' Результат не используется,
F() ' Вызов функции без параметров
Слайд 24

Процедуры и функции Синтаксис функции: Function имя_функ (ByVal арг.1, арг2… as

Процедуры и функции

Синтаксис функции:
Function имя_функ (ByVal арг.1, арг2… as тип) as

тип
Команды
……
Return выражение
End Function
Параметры передаются по значению
Хотя переменная передается по значению, функция получает копию адреса объекта, а не копию самого объекта. Иначе говоря, атрибуты ByVal и ByRef относятся к переменной, ссылающейся на объект, а не к самому объекту. При передаче по значению объекты не копируются. Передача по значению просто гарантирует, что после вызова исходная переменная будет ссылаться на прежний объект.
Слайд 25

Передача массивов функциям Function FM(BayVal a() as integer )as integer Dim

Передача массивов функциям

Function FM(BayVal a() as integer )as integer
Dim fn as

integer = Ubound (a)
Dim max as integer=a(0)
For I =0 to fn
IF a(I)>max then max=a(i)
Next
Return max
End Function