Пробел в конце строки

1

У меня есть эта особая проблема, когда file.WriteAllText добавляет лишнее свободное пространство в конце файла.

Я использую Ubuntu OS и имею monodevelop, установленный для моего С# -кодирования. Im пытается объединить два файла вместе, т.е. file1.txt и file2.txt вместе. Но когда я вижу, я вижу пробел в конце файла. Мой код выглядит следующим образом:

using System.IO;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string file1 = File.ReadAllText(@"/home/usr/test/file1.txt");
            string file2 = File.ReadAllText(@"/home/usr/test/file2.txt");

            File.WriteAllText(@"/home/usr/test/result.txt", file1.Trim()+file2.Trim());
        }
    }
}

В идеале использование функции Trim() должно удалять лишние пробелы в начале/конце строки. Но когда я открываю свой файл в режиме редактирования, я вижу дополнительное пространство в конце файла result.txt. Как я могу избавиться от него или почему это так?

  • 0
    Обрезка может удалить пробел в передней / конце строки. Файл file.txt, вероятно, не заканчивается пробелом, но с некоторыми вводами в конце.
  • 0
    Убедитесь, что вы не столкнулись с проблемой окончания строки, т.е. LF vs CRLF. Windows использует дополнительный символ CR.
Показать ещё 4 комментария
Теги:

1 ответ

0

Идти же проблема с этим методом, используя визуальную студию. Проблема не в том, чтобы урезать. Проблема заключается в "WriteAllText", который всегда добавляет пробел в конец файла.

Это похоже на ошибку в.net framework, вы не можете ничего сделать, чтобы решить ее с помощью этого метода. Вместо WriteAllText попробуйте использовать его метод siblin. Чтобы писать в двоичном формате, вам просто нужно получить двоичные файлы из вашей строки, а затем сохранить их.

http://msdn.microsoft.com/en-us/library/system.io.binarywriter(v=vs.110).aspx

Надеюсь, поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню