3 / 3 / 1
Регистрация: 11.08.2016
Сообщений: 37
|
|
1 | |
Классы для чтения и записи файла14.10.2016, 20:50. Просмотров 1487. Ответов 8
Метки нет Все метки)
(
Допустим мне нужно прочитать любой файл, сжать его и записать в бинарный файл.
Какими классами следует пользоваться для записи и чтения этих самих файлов?
0
|
|
14.10.2016, 20:50 | |
Класс для записи в файл и чтения из файла Оптимальный размер буфера для чтения/записи файла Открытие файла для чтения/записи Открытие файла для чтения и записи
__________________
8
Помогаю в написании студенческих работ здесь. Записывайтесь на профессиональные курсы С#-разработчиков |
|
208 / 206 / 137
Регистрация: 21.12.2015
Сообщений: 545
|
|
14.10.2016, 20:52 | 2 |
Скорее всего - System.IO
0
|
3 / 3 / 1
Регистрация: 11.08.2016
Сообщений: 37
|
|
14.10.2016, 20:54 [ТС] | 3 |
Оно и логично. Я прочитал почти все классы и конкретно так запутался. Мне же нужно из всего этого списка именно те классы, которые подходят под мои нужды. Пока что в голове полная каша.
0
|
Администратор
![]() |
|
14.10.2016, 21:08 | 4 |
Mimus, для чтения и записи - FileStream. Для сжатия - DeflateStream.
0
|
3 / 3 / 1
Регистрация: 11.08.2016
Сообщений: 37
|
|
14.10.2016, 21:22 [ТС] | 5 |
Не совсем понимаю. Допустим мы хотим прочитать текстовый файл. Нужно считывать и возвращать массив байтов? А если в нём попадутся такие символы, что они выходят за пределы значения байта? Ведь байт ограничен 255 значениями. А если захотим прочитать текстовый файл на русском? А как насчёт картинки?
0
|
208 / 206 / 137
Регистрация: 21.12.2015
Сообщений: 545
|
|
14.10.2016, 21:56 | 6 |
Mimus, В целом, для выполнения операций символьного ввода-вывода в файлы объект класса FileStream заключается в оболочку класса StreamReader или StreamWriter. В этих классах выполняется автоматическое преобразование байтового потока в символьный и наоборот.
1
|
Администратор
![]() |
|
14.10.2016, 22:02 | 7 |
Куда возвращать?
Не надо путать байты и символы. Один символ может занимать несколько байтов в зависимсти от кодировки. 256 Берем и читаем. Непонятно в чем проблема. То же самое что и с текстовым файлом. Любой файл на диске это последовательность байтов.
1
|
3 / 3 / 1
Регистрация: 11.08.2016
Сообщений: 37
|
|
14.10.2016, 22:33 [ТС] | 8 |
То есть в целом, чтобы прочитать и записать исходный любой файл в буфер для вывода в консоль и для последующего его сжатия, нужно вернуть массив байтов из исходного файла в буфер? В таком случае как его (массив байтов) интерпретировать в строку, если каждый символ занимает несколько байтов, да ещё к тому же зависит от кодировки?
Это работает только с текстовыми файлами?
0
|
208 / 206 / 137
Регистрация: 21.12.2015
Сообщений: 545
|
|
14.10.2016, 22:43 | 9 |
Mimus, Преимущество байтового ввода-вывода средствами класса FileStream заключается, в частности, в том, что его можно применить к файлам практически любого типа, а не только к текстовым файлам. (цитата из книги Шилдта)
Добавлено через 2 минуты Mimus, короче, FileStream умеет работать со всеми файлами будь то .exe, .html, .txt, .cs, т.к. все файлы состоят из байтов
0
|
14.10.2016, 22:43 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Класс для чтения из файла, записи в файл Написать процедуру для чтения и записи файла Как инициализировать дескриптор для записи и чтения файла
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |