2011-11-21 2 views

ответ

7
FileInfo f = new FileInfo(fileName); 
long fileLength = f.Length; 

fileLength будет количеством байт в файле, который будет соответствовать количеству символов (при условии кодирования однобайтного).

+0

Можно ли просто не считать символов. когда я проверяю документ в слове, он дает другой результат тому, что указано в cmd. – Evildommer5

+2

Я предполагаю, что слово не означает пробелы и символы новой строки. – mydogisbox

4

Если ответ Гаррета не дает правильного числа (по любой причине), вы можете пойти сложный маршрут с StreamReader:

public int GetNumOfCharsInFile(string filePath) 
    { 
     int count = 0; 
     using (var sr = new StreamReader(filePath)) 
     { 
      while (sr.Read() != -1) 
       count++; 
     } 
     return count; 
    } 
+0

Это все равно выводит то же значение, что и Garretts, на любые подсказки о том, почему он отличается от слова к консоли. – Evildommer5

+0

При угадывании суррогатные символы или комбинации символов, например à («\ u0061 \ u0300») –

+0

Текст использует # в каждой строке, это имеет эффект? – Evildommer5

Смежные вопросы