![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| WaReZMEN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Ниже описание команды на одном из языков мне нужен ее аналог на С#. Может кто нибудь помочь???
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
В .NET для работы с файлами используют FileStream и/или StreamReader/StreamWriter:
-------------------- ![]() |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
Ознакомься с пространством имен System.IO, в частности с классами File (FileInfo) (для получения "указателя на файл") и FileStream (для чтения/записи). Класс FileStream наследуется из класса Stream, который содержит необходимую тебе функцию Seek().
Добавлено @ 09:42 Опоздал Добавлено @ 09:48 mr.DUDA, Position (как и функция Seek) есть только у FileStream. Правильно ли я понимаю, что функция Seek() и set-овая часть свойства Position делают одно и то же? |
|||
|
||||
| Naum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 8 Всего: 15 |
Idsa,
Т.е. получается, что set-овый метод свойства Position вызывает метод Seek(). Это неверно. Метод Seek() и свойство Position определены в базовом классе System.IO.Stream и есть у всех его населдников. Так же у всех потомков есть свойство CanSeek, которое как раз и ограничивает использование метода Seek() в наследных классах.
А вот это уже интересно. Недавно была тема, в которой доказывали (и я в том числе), что в какую-либо позиции файла нельзя менять данные. Все равно файл придется переписывать полностью. Это сообщение отредактировал(а) Naum - 7.2.2007, 10:30 -------------------- У нас всего два праздника Новый год и ТЯПница. |
||||
|
|||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
Если посмотришь внимательно на список предложенных Mr. Duda классов, то увидишь, что из них только FileStream является наследником класса Stream. Именно это я и имел в виду в своем посте. |
|||
|
||||
| Naum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 8 Всего: 15 |
Idsa, прошу прощения.
-------------------- У нас всего два праздника Новый год и ТЯПница. |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Idsa, StreamReader/StreamWriter это просто менеджеры потоков (Stream-ов).
Сам стрим передается им в конструкторе Добавлено @ 11:05 Да, что-то и я невнимательно читаю |
|||
|
||||
| WaReZMEN |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 683 Регистрация: 9.6.2006 Где: Россия, Санкт-Пет ербург Репутация: нет Всего: 3 |
Всем спасибо!
|
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
Хм... Класс Stream - абстрактный. Как же объекты класса Stream могут передаваться через конструктор StreamReader/StreamWriter? Тема топика ("Файлы") достаточно широкая, поэтому позволю себе задать еще один вопрос. Меня интересует, какие принципиальные отличия есть между текстовыми и бинарными файлами. И те, и другие состоят из ноликов и единичек, но в литературе зачастую встречается фраза, вроде "экономичные бинарные файлы" (экономичность в плане веса файла). За счет чего же достигается эта экономия по сравнению с текстовыми файлами? |
|||
|
||||
| Naum |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 743 Регистрация: 7.9.2005 Где: Саратов, ул. Поса дского, 298 Репутация: 8 Всего: 15 |
Например, у тебя есть byte num1 = 124; в бинарный файл num1 запишется как один байт = 124. А в текстовом получается перед записью все объкты как бы конвертируются в string. А "124" это как минимум 3 байта (размер каждого символа зависит от кодировки). И в файл на самом деле запишется не байт 124, а 3 байта код_символа_1 код_символа_2 код_символа_4.
Вроде ты создавал темы про полиморфизм, и вроде как тебе все было понятно. -------------------- У нас всего два праздника Новый год и ТЯПница. |
||||
|
|||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
||||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
Точно! Пасиб)
Если бы ты внимательно прочитал вопрос, то увидел бы, что меня интересует именно тот факт, каким образом в конструктор могут передаваться объекты класса Stream, ведь он АБСТРАКТНЫЙ! |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Заканчиваем офтопить
|
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
||||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Модератор: Переименовал тему. Желающие пооффтопить на тему стримов, плз пишите в отдельную тему, или эту разделю.
-------------------- ![]() |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |