Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для Mimus
3 / 3 / 1
Регистрация: 11.08.2016
Сообщений: 37

Классы для чтения и записи файла

14.10.2016, 20:50. Показов 2444. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим мне нужно прочитать любой файл, сжать его и записать в бинарный файл.
Какими классами следует пользоваться для записи и чтения этих самих файлов?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2016, 20:50
Ответы с готовыми решениями:

Класс для записи в файл и чтения из файла
Здравствуйте, у меня вот возникла такая проблема при выполнении домашнего задания: надо создать два класса 1 класс записывает в файл объект...

Оптимальный размер буфера для чтения/записи файла
Какой оптимальный со стороны производительности размер буфера для чтения и записи данных в файл? Жду обоснованный ответ. Еще вопрос...

Открытие файла для чтения/записи
Помогите реализовать открытие файла под компилятор g++ или DevC++ вечно ругается на std.. using namespace std; не помогает. как...

8
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
14.10.2016, 20:52
Скорее всего - System.IO
0
 Аватар для Mimus
3 / 3 / 1
Регистрация: 11.08.2016
Сообщений: 37
14.10.2016, 20:54  [ТС]
Цитата Сообщение от TuM0xA Посмотреть сообщение
Скорее всего - System.IO
Оно и логично. Я прочитал почти все классы и конкретно так запутался. Мне же нужно из всего этого списка именно те классы, которые подходят под мои нужды. Пока что в голове полная каша.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18262 / 14187 / 5366
Регистрация: 17.03.2014
Сообщений: 28,872
Записей в блоге: 1
14.10.2016, 21:08
Mimus, для чтения и записи - FileStream. Для сжатия - DeflateStream.
0
 Аватар для Mimus
3 / 3 / 1
Регистрация: 11.08.2016
Сообщений: 37
14.10.2016, 21:22  [ТС]
Не совсем понимаю. Допустим мы хотим прочитать текстовый файл. Нужно считывать и возвращать массив байтов? А если в нём попадутся такие символы, что они выходят за пределы значения байта? Ведь байт ограничен 255 значениями. А если захотим прочитать текстовый файл на русском? А как насчёт картинки?
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
14.10.2016, 21:56
Mimus, В целом, для выполнения операций символьного ввода-вывода в файлы объект класса FileStream заключается в оболочку класса StreamReader или StreamWriter. В этих классах выполняется автоматическое преобразование байтового потока в символьный и наоборот.
1
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18262 / 14187 / 5366
Регистрация: 17.03.2014
Сообщений: 28,872
Записей в блоге: 1
14.10.2016, 22:02
Цитата Сообщение от Mimus Посмотреть сообщение
Нужно считывать и возвращать массив байтов?
Куда возвращать?

Цитата Сообщение от Mimus Посмотреть сообщение
А если в нём попадутся такие символы, что они выходят за пределы значения байта?
Не надо путать байты и символы. Один символ может занимать несколько байтов в зависимсти от кодировки.

Цитата Сообщение от Mimus Посмотреть сообщение
Ведь байт ограничен 255 значениями.
256

Цитата Сообщение от Mimus Посмотреть сообщение
А если захотим прочитать текстовый файл на русском?
Берем и читаем. Непонятно в чем проблема.

Цитата Сообщение от Mimus Посмотреть сообщение
А как насчёт картинки?
То же самое что и с текстовым файлом. Любой файл на диске это последовательность байтов.
1
 Аватар для Mimus
3 / 3 / 1
Регистрация: 11.08.2016
Сообщений: 37
14.10.2016, 22:33  [ТС]
То есть в целом, чтобы прочитать и записать исходный любой файл в буфер для вывода в консоль и для последующего его сжатия, нужно вернуть массив байтов из исходного файла в буфер? В таком случае как его (массив байтов) интерпретировать в строку, если каждый символ занимает несколько байтов, да ещё к тому же зависит от кодировки?

Цитата Сообщение от TuM0xA Посмотреть сообщение
Mimus, В целом, для выполнения операций символьного ввода-вывода в файлы объект класса FileStream заключается в оболочку класса StreamReader или StreamWriter. В этих классах выполняется автоматическое преобразование байтового потока в символьный и наоборот.
Это работает только с текстовыми файлами?
0
 Аватар для TuM0xA
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
14.10.2016, 22:43
Mimus, Преимущество байтового ввода-вывода средствами класса FileStream заключается, в частности, в том, что его можно применить к файлам практически любого типа, а не только к текстовым файлам. (цитата из книги Шилдта)

Добавлено через 2 минуты
Mimus, короче, FileStream умеет работать со всеми файлами будь то .exe, .html, .txt, .cs, т.к. все файлы состоят из байтов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2016, 22:43
Помогаю со студенческими работами здесь

Открытие файла для чтения и записи
Привет. Мне надо заменить все отриц числа в файле их модулем procedure TForm1.Button1Click(Sender: TObject); var f: textfile; ...

Класс для чтения из файла, записи в файл
Появился вопрос по с++. Создал класс, который может читать и записывать в файл. деструктор класс закрывает файл. Функция wrire имеет две...

Написать процедуру для чтения и записи файла
Написать процедуру для чтения и записи файла.

Как инициализировать дескриптор для записи и чтения файла
Здорова! Написал программку для чтения из файла. Но чото при вызове ничего не происходит. #include <iostream> using...

Как указать расположение файла для записи/чтения
Всем привет, учусь работать с файлами, не совсем понятно где они сохраняются, и как изменить путь по которому они сохраняются?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru