На этот вопрос нет надежного ответа.Если вы знаете, что любые текстовые файлы будут когда-либо содержать только символы ASCII (и закодированы в ASCII, UTF-8 или что-то подобное), тогда да, это будет работать ... хотя может не перехватить все нетекстовыефайлы.
Однако:
- Это не удастся для любых текстовых файлов, использующих текст не-ASCII
- Это может все же произойти сбой для файла, который является допустимым двоичным файломдля некоторого формата, но не содержит значений выше 128.
Представляет ли последовательность байтов {34, 87, 23, 10} текстовые или двоичные данные?Там просто нет возможности узнать наверняка. Все, что вы сделаете * 1014, будет эвристическим.