@dimadimov

Что происходит с кодировкой файлов C#?

using System;
using System.IO;

namespace ConsoleApplicationF
{
    class Program
    {
        
        static void Main(string[] args)
        {           
            string F1 = @"C:\F\f1.txt";
            string F2 = @"C:\F\f2.txt";        

            string CopyF2= "", CopyF1="";

            StreamReader FF1 = new StreamReader(F1, System.Text.Encoding.Default);
            CopyF1= FF1.ReadToEnd();
            FF1.Close();

            StreamReader FF2 = new StreamReader(F2, System.Text.Encoding.Default);
            CopyF2=FF2.ReadToEnd();
            FF2.Close();

            StreamWriter FF11 = new StreamWriter(F1);
            FF11.Write(CopyF2);
            FF11.Close();

            StreamWriter FF22 = new StreamWriter(F2);
            FF22.Write(CopyF1);
            FF22.Close();

  }
}
}


Пытаюсь заменить текст из одного файла на текст из другого.

Можно сделать так, но хочу получше разобраться со всем этим!
using System;
using System.IO;
namespace ConsoleApplication14
{
    class Program
    {
        static void Main(string[] args)
        {           
            string F1 = @"C:\F\f1.txt";
            string F2 = @"C:\F\f2.txt";

            string F3 = @"C:\F\dewfdewdfhtfhgfchjgfvjhygjudfew.txt";
            File.Replace(F1, F2, F3);
            File.Move(F3, F1);
        }
}
}

Ввожу значения в файлы:

8f1127fe542e443395d60f84e0e0c210.jpg

Запускаю программу:

699f3762982c4f71b82d37595a6cc174.jpg

Запускаю программу второй раз:
5f99f8aba47e444499a7f60c23c4b54d.jpg
  • Вопрос задан
  • 434 просмотра
Решения вопроса 1
Nipheris
@Nipheris Куратор тега C#
Судя по скрину, у вас для UTF-8 потерялся BOM.
Скорее всего это произошло потому, что вы считали файл неверной кодировкой (в файле у вас UTF-8 вроде как). Используйте кодировку явно, например UTF8Encoding вместо дефолтовой.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы