|
|
|
FSO & binary file
|
|||
|---|---|---|---|
|
#18+
Интересно почему во многих местах пишут что 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 20:37 |
|
||
|
FSO & binary file
|
|||
|---|---|---|---|
|
#18+
Потому что текстовые файлы содержат управляющие символы (в первую очередь "переход на следующую строку") И эти управляющие символы могут различаться в зависимости от того в какой системе этот текстовый файл сделан. А FSO пытается все текстовые файлы привести при чтении к единому стандарту. А при записи в новый файл этот общий стандарт сохранить. ArcanОднако я сделал тесты, прочитав JPG и EXE файлы через FSO, а потом записав их тоже через FSO. Все отработало нормально - входной и выходной файлы всегда были одинаковыми...Просто повезло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 23:05 |
|
||
|
FSO & binary file
|
|||
|---|---|---|---|
|
#18+
White OwlПотому что текстовые файлы содержат управляющие символы (в первую очередь "переход на следующую строку") И эти управляющие символы могут различаться в зависимости от того в какой системе этот текстовый файл сделан. И часто вам приходилось работать в системе, где перевод строки не 13,10 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 23:44 |
|
||
|
FSO & binary file
|
|||
|---|---|---|---|
|
#18+
White Owlтекстовые файлы содержат управляющие символы (в первую очередь "переход на следующую строку") Разве это не обычные байты? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 23:46 |
|
||
|
FSO & binary file
|
|||
|---|---|---|---|
|
#18+
ArcanИнтересно почему во многих местах пишут что FileSystemObject не может работать с бинарными файлами Ну, вообще-то нормальная работа с бинарными файлами подразумевает еще возможность читать/писать нужное кол-во байт с указанной позиции, а не только весь целиком... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 12:39 |
|
||
|
FSO & binary file
|
|||
|---|---|---|---|
|
#18+
AndrFНу, вообще-то нормальная работа с бинарными файлами подразумевает еще возможность читать/писать нужное кол-во байт с указанной позиции, а не только весь целиком... Это да, но если нужно целиком, то в чем проблема-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 14:54 |
|
||
|
FSO & binary file
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 15:47 |
|
||
|
FSO & binary file
|
|||
|---|---|---|---|
|
#18+
Arcan White OwlПотому что текстовые файлы содержат управляющие символы (в первую очередь "переход на следующую строку") И эти управляющие символы могут различаться в зависимости от того в какой системе этот текстовый файл сделан. И часто вам приходилось работать в системе, где перевод строки не 13,10 ?Ежедневно работаю, а что? Кроме переводов строки есть еще такая фигня как юникодные и не юникодные текстовые файлы, FSO умеет приводить их к общему знаменателю. Попробуй прочитай jpg в режиме расшифровки юникода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 18:09 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=221&tid=2163485]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 328ms |

| 0 / 0 |
