Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2010, 19:42   #1
Andreyka
Пользователь
 
Регистрация: 11.01.2009
Сообщений: 18
Стрелка Изменение кодировки в c#

Люди подскажите пожалуйста в чем здесь ошибка. Надо файл переписать в нужной кодировке. Идея в том чтобы побуквенно заменять соответствующие символы
Код:
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; 

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Console.Write("Введите путь к файлу: ");
                string d = Console.ReadLine();
                Console.Write("Введите текущую кодировку: ");
                string k = Console.ReadLine();
                Console.Write("Введите нужную кодировку: ");
                string n = Console.ReadLine();

                string b = System.IO.File.ReadAllText(@"h:\1\" + k + ".txt");
                System.Console.WriteLine("Contents of 1.txt = {0}", b);
                string s = System.IO.File.ReadAllText(@"h:\1\" + n + ".txt");
                System.Console.WriteLine("Contents of 1.txt = {0}", s);
                string text = System.IO.File.ReadAllText(@d);
                System.Console.WriteLine("Contents of 1.txt = {0}", text);

                string x = "";
                string filename = @"h:\2.txt";
                FileStream name = new FileStream(filename, FileMode.Create, FileAccess.Write);
                StreamWriter test = new StreamWriter(name);
                Console.SetOut(test);

                for (int i = 0; i < text.Length; i++)
                {
                    for (int j = 0; j < b.Length; j++)
                    {
                        if (text[i] == b[j]) x = x + s[j];
                    }
                }
                Console.WriteLine(x);
                test.Close();

                Console.ReadLine();
            }
            catch (FileNotFoundException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine("проверьте правильность имени");
                return;
            }
            catch (Exception e)
            {
                Console.WriteLine("ошибка" + e.Message);
                return;
            }

        }
    }
}
А у меня просто очищается файл с текстом

Последний раз редактировалось Andreyka; 04.06.2010 в 19:49.
Andreyka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение кодировки Ilya9999 PHP 2 27.05.2010 19:59
Кодировки jungle Операционные системы общие вопросы 8 08.09.2009 09:31
Кодировки Sapsan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 21.03.2009 22:57
Кодировки BOBAH13 Общие вопросы Delphi 8 29.08.2008 14:20
Кодировки CoDeR Общие вопросы Delphi 5 01.09.2007 21:39