Да, это просто:
Encoding encoding = Encoding.UTF8; // Or whatever
int size = encoding.GetByteCount(text);
Обратите внимание, что это количество байтов в закодированной форме. Если ваша файловая система выполняет сжатие и т. Д., Предсказать принятый физический размер становится намного сложнее (или невозможно).
Вы делаете , хотя должны выбрать кодировку. На самом деле нет такой вещи, как «прямое» сохранение на диск - вам нужно выбрать двоичное представление.