Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Накормил BinaryData потоком NTFS. Не подавилась. (число прочтений - 2556 )
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Накормил BinaryData потоком NTFS. Не подавилась.
24. Мая 2008 :: 21:17
Печать  
Понадобилось мне использовать нтфс-ные потоки для файлов. А так как крутые одинэснеги не ищут простых путей, то попробовал родным классом:
Код
Выбрать все
BinaryData = СоздатьОбъект("BinaryData");
Если BinaryData.ЗагрузитьИзФайла(ИмяФайла+ ":MyStream", 1, , -1) = 1 Тогда
  Стр = "";
  BinaryData.ПрочитатьСтроку(Стр, 0);
  Сообщить("Съедобно. Скормили: " + Стр);
Иначе
  Сообщить("Не съедобно!");
КонецЕсли;
 


Не подавилась, но и результата не выдала. Значит использовать БинариДата не получится...

Остается FSO:
Код
Выбрать все
FSO = СоздатьОбъект("Scripting.FileSystemObject");
Если FSO.FileExists(ИмяФайла + ":MyStream") = 0 Тогда
  Сообщить("Нет такого потока");
Иначе
  TS = FSO.OpenTextFile(Значение + ":MyStream");
  sStreamText = TS.ReadAll();
  Сообщить(sStreamText);
  TS.Close();
КонецЕсли; 



Попал в цель. Но выдает в ютф, чем конвертить в ансю?

p.s. сделать поток: echo Yo krevedko > file.txt:MyStream
прочитать в cmd: more < file.txt:MyStream

p.s.s. только для ntfs естесенно.
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Накормил BinaryData потоком NTFS. Не подавилас
Ответ #1 - 24. Мая 2008 :: 21:47
Печать  
Вопрос снят. Из cmd записывать поток вышеописанной командой некорректно.
А вот так все взлетело:
Код
Выбрать все
FSO = СоздатьОбъект("Scripting.FileSystemObject");
TS = FSO.OpenTextFile(ИмяФайла + ":MyStream", 2, -1, -1);
TS.WriteLine("Федор ну сделай поддержку RSS!");
TS.Close(); 



Упреждая вопросы. Мне это надо, чтобы записывать комментарии к тридцати тысячам изображений, используемых в нашей базе Улыбка


P.S. может кто знает, какое ограничение на кол-во в файлов в одной папке на нтфс?
  
Наверх
 
IP записан
 
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Накормил BinaryData потоком NTFS. Не подавилас
Ответ #2 - 26. Мая 2008 :: 02:06
Печать  
Arta писал(а) 24. Мая 2008 :: 21:47:
Упреждая вопросы. Мне это надо, чтобы записывать комментарии к тридцати тысячам изображений, используемых в нашей базе Улыбка


Это что, комментарии к тридцати тысячам изображений лежат в одном текстовом файле? И насколько быстро это работает? А файлы изображений внутри базы или во внешних файлах?
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Накормил BinaryData потоком NTFS. Не подавилас
Ответ #3 - 26. Мая 2008 :: 03:34
Печать  
vivm писал(а) 26. Мая 2008 :: 02:06:
Arta писал(а) 24. Мая 2008 :: 21:47:
Упреждая вопросы. Мне это надо, чтобы записывать комментарии к тридцати тысячам изображений, используемых в нашей базе Улыбка


Это что, комментарии к тридцати тысячам изображений лежат в одном текстовом файле? И насколько быстро это работает? А файлы изображений внутри базы или во внешних файлах?

Насколько я понял, картинки лежат во внешних файлах, а комменты планируется хранить в потоке к каждому файлу, а не в единой картинке.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
vivm
Full Member
***
Отсутствует



Сообщений: 159
Местоположение: Новосибирск
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Накормил BinaryData потоком NTFS. Не подавилас
Ответ #4 - 26. Мая 2008 :: 06:15
Печать  
т.е. можно в каждую картинку записать какие-то атрибуты со своим названием, и не заморачиваться с EXIF или XMP. Классно!
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Накормил BinaryData потоком NTFS. Не подавилас
Ответ #5 - 26. Мая 2008 :: 06:25
Печать  
Кстати говоря в SVN есть возможность к каждому файлу добавлять  свойства + эти свойства тоже имеют версии
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Накормил BinaryData потоком NTFS. Не подавилас
Ответ #6 - 26. Мая 2008 :: 11:13
Печать  
Это не один файл и не отделные файлы. Это потоки. Погуглите про ADS (alternate data streams). Для каждого файла может быть несколько именованных потоков, в которые хоть файлы записывайте. Чем иногда вирусописатели и пользуются.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Накормил BinaryData потоком NTFS. Не подавилас
Ответ #7 - 26. Мая 2008 :: 11:59
Печать  
Arta писал(а) 26. Мая 2008 :: 11:13:
Это не один файл и не отделные файлы. Это потоки. Погуглите про ADS (alternate data streams). Для каждого файла может быть несколько именованных потоков, в которые хоть файлы записывайте. Чем иногда вирусописатели и пользуются.

Это ты кому написал?
Я же вроде тоже самое уже ответил, только без подобной расшифровки Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer &amp;&amp; tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Накормил BinaryData потоком NTFS. Не подавилас
Ответ #8 - 26. Мая 2008 :: 12:36
Печать  
artbear писал(а) 26. Мая 2008 :: 11:59:
Это ты кому написал?
Я же вроде тоже самое уже ответил, только без подобной расшифровки Улыбка

Всем вопрошавшим Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать