none
Очень нужна помощь с задачей!!! RRS feed

  • Вопрос

  •  Даны два двоичных файла с числами. Поменять местами их содержимое (использовать вспомогательный файл).

    using System.IO;

    namespace Work
    {
        class Program
        {
            static void Main(string[] args)
            {
               using (StreamWriter f1 = new StreamWriter("C:/File1.txt"))

    ...

    Далее,я так понимаю,мы перемещаем числа из файла 1 в файл 3,потом из файла 2 в файл 1,а из файла 3 в файл 2.

    А для перемещения мы используем MoveTo или другой метод?

    5 февраля 2013 г. 22:08

Ответы

  • Покажите пример файла

    если у вас там числа записанны текстом то можно использовать класс File

    File.WriteAllLines(@tempfile, File.ReadAllLines(@sourcefile1));
    File.WriteAllLines(@sourcefile1, File.ReadAllLines(@sourcefile2));
    File.WriteAllLines(@sourcefile2, File.ReadAllLines(@tempfile));

    • Помечено в качестве ответа Abolmasov Dmitry 12 февраля 2013 г. 9:58
    6 февраля 2013 г. 6:49

Все ответы

  • Покажите пример файла

    если у вас там числа записанны текстом то можно использовать класс File

    File.WriteAllLines(@tempfile, File.ReadAllLines(@sourcefile1));
    File.WriteAllLines(@sourcefile1, File.ReadAllLines(@sourcefile2));
    File.WriteAllLines(@sourcefile2, File.ReadAllLines(@tempfile));

    • Помечено в качестве ответа Abolmasov Dmitry 12 февраля 2013 г. 9:58
    6 февраля 2013 г. 6:49
  • А нельзя просто переименовать файлы?
    через вспомогательное имя файла, вместо самого вспомогательного файла.

    вот и содержимое поменялось )

    6 февраля 2013 г. 7:31
  • А нельзя просто переименовать файлы?
    через вспомогательное имя файла, вместо самого вспомогательного файла.

    вот и содержимое поменялось )

    :))
    6 февраля 2013 г. 8:29
  • Нет...там нужно именно переместить=)
    6 февраля 2013 г. 12:27
  • Покажите пример файла

    если у вас там числа записанны текстом то можно использовать класс File

    File.WriteAllLines(@tempfile, File.ReadAllLines(@sourcefile1));
    File.WriteAllLines(@sourcefile1, File.ReadAllLines(@sourcefile2));
    File.WriteAllLines(@sourcefile2, File.ReadAllLines(@tempfile));

    В самом файле числа я записала просто в строчку, т.е. это выглядит так: 10 20 30 40 ...и т.д.
    6 февраля 2013 г. 12:32
  • ну тогда как раньше предложили примерно можно сделать

    только не понятно при чём тут "числа в файле".
    вроде бы не важно что там. файл и файл.

    1) сделать копию одного из файлов,
    2) в источник копии (первый файл) записать все байты из втрого файла , перезаписью.
    (в примерер выше строки, но байтами наверное лучше по производительности)

    и то же самое наверное простое копирование файлов делает

    3) удалить второй файл
    4) переименовать копию из п1) в то как назывался 2-й файл


    • Изменено INFEL8 6 февраля 2013 г. 12:36
    6 февраля 2013 г. 12:35
  • Там видимо  кодировка различается...в зависимости от того что в файле: текст или числа... 
    6 февраля 2013 г. 12:51
  • :))) одинаково что текст что числа
    6 февраля 2013 г. 12:54
  • Тогда не знаю...=)))
    6 февраля 2013 г. 13:15
  • Если чесно сейчас я не понимаю в чем проблема? я предлажил вам вариант который работает, или у вас условие решить задачу с помощью Stream?
    6 февраля 2013 г. 13:21
  • Привет, данный вариант читает все содержимое одного файла и переносит его в другой файл, заменяя то, что там было. Он должен решать вашу проблему, если нет - то попытайтесь объяснить что в нем не так, чтобы мы предложили более верное решение проблемы. Спасибо.

    Для связи [mail]

    7 февраля 2013 г. 8:34