Я написал для себя небольшую программу, которую я использую, чтобы читать довольно большие файлы журналов (просто текст и цифры) и записывать их в текстовое поле (notepadish thingy).C# открытие файла
Я использую этот метод для чтения файла, и, хотя он делает трюк, мне интересно, есть ли способ его оптимизировать, и если текущий файл, который был прочитан, заблокирован от записи до его чтения (поскольку это журнал файлы, которые постоянно обновляются, это не хорошо для меня).
private void ReadFile(string path)
{
using (FileStream file = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (StreamReader reader = new StreamReader(file))
{
StringBuilder sb = new StringBuilder();
string r = reader.ReadLine();
while (r != null)
{
sb.Append(r);
sb.Append(Environment.NewLine);
r = reader.ReadLine();
}
textBox.Text = sb.ToString();
reader.Close();
}
}
Как насчет ['File.ReadAllText'] (http://msdn.microsoft.com/en-us/library/system.io.file.readalltext.aspx)? –
@UweKeim Это не сработает, если файл записывается другим процессом. Код OP выглядит нормально. – I4V
Вы можете заменить два вызова «Добавить» вызовом 'sb.AppendLine'. –