public class Processor public void ProcessFile string FilePath string

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public class Processor
{
public void ProcessFile(string FilePath)
{
string FileContent = null;
Console.WriteLine(ReadAllContent(FilePath,out FileContent));
}
public bool ReadAllContent(string Path, out string text)
{
text = null;
if(string.IsNullOrEmpty(Path))
{
text = "Отсутствует путь к файлу.";
return false;
}
FileInfo fileInfo = new FileInfo(Path);
if(!fileInfo.Exists)
{
text = "Файл с заданным именем не существует.";
return false;
}
// Здесь так же написал вариант с оптимизацией чтениея объёмного файла, что не обязательно, если не стоит таких задач.
if(fileInfo.Length < Int32.MaxValue)
{
using(FileStream fs = fileInfo.Open(FileMode.OpenOrCreate, FileAccess.Read, FileShare.None))
using(BufferedStream bs = new BufferedStream(fs, Convert.ToInt32(fileInfo.Length)))
using (StreamReader sr = new StreamReader(bs))
{
string line;
while ((line = sr.ReadLine()) != null)
{
text+=line;
}
}
}
else
{
using(StreamReader sr = fileInfo.OpenText())
{
string line;
while ((line = sr.ReadLine()) != null)
{
text+=line;
}
}
}
return true;
}
}