Страница: 1 |
Страница: 1 |
Вопрос: Как открыть все файлы в папке по очереди
Добавлено: 25.06.06 19:34
Автор вопроса: ZXC
Вообщем в папке есть много txt файлов, точное количество я не знаю, нужно для считывания информации открыть один файл выполнить операции с его содержими, закрыть и открыть следущий файл, и так далее, как это реализовать? если можно помогите кодом :-))))
Ответы
Всего ответов: 1
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 26.06.06 11:45
Imports System.IO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'// Где ищем
Dim directoryPath As String = "C:\Windows"
'// Что ищем
Dim searchPattern As String = "*.txt"
'// Получаем массив файлов по нашей маске
Dim resultFiles() As String = Directory.GetFiles(directoryPath, searchPattern)
'// В цикле перебираем все файлы
For Each filePath As String In resultFiles
'// Если файлов много и процесс может затянуться
'// то показываем юзверю ход выполнения задачи
Me.Text = filePath
Application.DoEvents()
Try
'// Получаем содержимое файла
Dim context As String = File.ReadAllText(filePath)
'// Обрабатываем его
Dim result As String = DoWork(context)
'// Если содержимое изменилось, то
'// переписываем исходный файл (если нужно)
If context.Length <> result.Length OrElse _
context <> result Then File.WriteAllText(result, filePath)
Catch ex As Exception
'// Обрабатываем ошибки
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Next
End Sub
Private Function DoWork(ByVal context As String) As String
'// Тут чего-нибудь делаем..
Dim retval As String = context
'// затем возвращаем измененное или исходное содержимое файла
Return retval
End Function
End Class