VS не пишите в выходной файл - PullRequest
0 голосов
/ 05 декабря 2018

Visual Studio не записывает в выходной файл.Код работает, и результат отображается на консоли, но не в файле.Пытался изменить назначение файла и каталог, но безрезультатно.

это мой код:

string[] files = Directory.GetFiles("C:\\Users\\a.petkov\\Downloads\\FILES\\",
    "*.*", SearchOption.TopDirectoryOnly);

foreach (string file in files)
{
    Console.WriteLine(file);
}
Console.WriteLine();

Dictionary<string, Dictionary<string, decimal>> dict = new Dictionary<string, Dictionary<string, decimal>>();

foreach (string file in files)
{
    //decimal length = (new System.IO.FileInfo(file).Length) / 1024;
    decimal filesize = Decimal.Divide(file.Length, 1024);

    string extension = Path.GetExtension(file);
    string name = Path.GetFileName(file);

    if (dict.ContainsKey(extension))
    {
        dict[extension].Add(name, filesize);
    }
    else
    {
        dict.Add(extension, new Dictionary<string, decimal>() { { name, filesize } });
    }
}
string wayToFile = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\report.txt";


    using (StreamWriter writer = new StreamWriter(wayToFile))
    {
        foreach (var item in dict.OrderByDescending(v => v.Value.Count).ThenBy(k => k.Key))
        {
            Console.WriteLine('.' + item.Key);
            foreach (var kvp in item.Value)
            {
                Console.WriteLine($"--{kvp.Key} - {kvp.Value}kb");
            }
        }
    }

1 Ответ

0 голосов
/ 05 декабря 2018

строк 36 и 39

Console.WriteLine('.' + item.Key);
Console.WriteLine($"--{kvp.Key} - {kvp.Value}kb");

должно быть

writer.WriteLine('.' + item.Key);
writer.WriteLine($"--{kvp.Key} - {kvp.Value}kb");
...