Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / FSO & binary file / 8 сообщений из 8, страница 1 из 1
29.08.2007, 20:37
    #34762974
Arcan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FSO & binary file
Интересно почему во многих местах пишут что FileSystemObject не может работать с бинарными файлами (например http://www.freevbcode.com/ShowCode.asp?ID=752)

Однако я сделал тесты, прочитав JPG и EXE файлы через FSO, а потом записав их тоже через FSO.
Все отработало нормально - входной и выходной файлы всегда были одинаковыми...

Код примерно такой:

set objFSO=Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(strSourceFile)

'read
Set objTextStream = objFSO.OpenTextFile(strPath, 1, False)
s = objTextStream.Read(objFile.Size)

'write
Set objTextStream = objFSO.OpenTextFile(strDestFile, 2, True)
Call objTextStream.Write(s)
objTextStream.Close
...
Рейтинг: 0 / 0
29.08.2007, 23:05
    #34763131
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FSO & binary file
Потому что текстовые файлы содержат управляющие символы (в первую очередь "переход на следующую строку") И эти управляющие символы могут различаться в зависимости от того в какой системе этот текстовый файл сделан. А FSO пытается все текстовые файлы привести при чтении к единому стандарту. А при записи в новый файл этот общий стандарт сохранить.

ArcanОднако я сделал тесты, прочитав JPG и EXE файлы через FSO, а потом записав их тоже через FSO.
Все отработало нормально - входной и выходной файлы всегда были одинаковыми...Просто повезло
...
Рейтинг: 0 / 0
29.08.2007, 23:44
    #34763170
Arcan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FSO & binary file
White OwlПотому что текстовые файлы содержат управляющие символы (в первую очередь "переход на следующую строку") И эти управляющие символы могут различаться в зависимости от того в какой системе этот текстовый файл сделан.


И часто вам приходилось работать в системе, где перевод строки не 13,10 ?
...
Рейтинг: 0 / 0
29.08.2007, 23:46
    #34763174
Arcan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FSO & binary file
White Owlтекстовые файлы содержат управляющие символы (в первую очередь "переход на следующую строку")

Разве это не обычные байты? :)
...
Рейтинг: 0 / 0
30.08.2007, 12:39
    #34764226
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FSO & binary file
ArcanИнтересно почему во многих местах пишут что FileSystemObject не может работать с бинарными файлами

Ну, вообще-то нормальная работа с бинарными файлами подразумевает еще возможность читать/писать нужное кол-во байт с указанной позиции, а не только весь целиком...
...
Рейтинг: 0 / 0
30.08.2007, 14:54
    #34764809
Arcan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FSO & binary file
AndrFНу, вообще-то нормальная работа с бинарными файлами подразумевает еще возможность читать/писать нужное кол-во байт с указанной позиции, а не только весь целиком...

Это да, но если нужно целиком, то в чем проблема-то?
...
Рейтинг: 0 / 0
30.08.2007, 15:47
    #34765111
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FSO & binary file
Arcan AndrFНу, вообще-то нормальная работа с бинарными файлами подразумевает еще возможность читать/писать нужное кол-во байт с указанной позиции, а не только весь целиком...

Это да, но если нужно целиком, то в чем проблема-то?

Проблема в целом та, что Microsoft как разработчик FSO, сам предупреждает, что FSO не поддерживает бинарные файлы:

...The FSO model, contained in the Scripting type library (Scrrun.dll), supports the creation and manipulation of text files through the TextStream object; however, the FSO model does not support binary files . To manipulate binary files, use the FileOpen Function with the Binary keyword....

А раз так, то это будет использовaние FSO не по его назначению с непредказуемыми, вообще говоря, результатами и, что самое главное, в принципе неприемлемо в официальных проектах. Это как строить дома не по чертежам. Дом может и будет стоять, но где-то когда-то и упадет. Вы что, хотите взять на себя подобную ответственность. Камикадзе? Есть же FileOpen.
...
Рейтинг: 0 / 0
30.08.2007, 18:09
    #34765775
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FSO & binary file
Arcan White OwlПотому что текстовые файлы содержат управляющие символы (в первую очередь "переход на следующую строку") И эти управляющие символы могут различаться в зависимости от того в какой системе этот текстовый файл сделан.
И часто вам приходилось работать в системе, где перевод строки не 13,10 ?Ежедневно работаю, а что?
Кроме переводов строки есть еще такая фигня как юникодные и не юникодные текстовые файлы, FSO умеет приводить их к общему знаменателю. Попробуй прочитай jpg в режиме расшифровки юникода.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / FSO & binary file / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]