2 гигаА есть какое-нибудь ограничение на размер NotesStream?
Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе
CTF с учебными материалами Codeby Games
Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.
2 гигаА есть какое-нибудь ограничение на размер NotesStream?
В Java агентах можно писать/читать по 2 Гига. На Лотусскрипте - 64 КБ2 гига
человек спросил про NotesStream и там ограничение на лотусе - неважно каком скрипт или ява - 2 гигаВ Java агентах можно писать/читать по 2 Гига. На Лотусскрипте - 64 КБ
человек спросил про NotesStream и там ограничение на лотусе - неважно каком скрипт или ява - 2 гига
Нет. 65КБ это максимальный объем параметра, передаваемого в функцию! А 2ГБ - это макс. объем всех данных, которые объект может держать. Причем, это для 32-битных систем. Для 64-битных, вероятно, будет 4 ГБ.Уточнение:
На Write - 65K
На WriteText - 2GB
2^31 - (т.е. разрядный знак убираем) и есть 2Гб (если про память )Причем, это для 32-битных систем. Для 64-битных, вероятно, будет 4 ГБ.
никаких вероятностей, 64битная винда в нотесстрим тоже больше 2гиг не броситя потому и написал "вероятно", потому что некоторые упоминают про 4 ГБ лимита. Но откуда эта цифра, я не знаю точно... Возможно, какое-то ограничение у Винды...
Вот, к примеру, тут (http://msdn.microsoft.com/en-us/library/aa366778%28v=vs.85%29.aspx) сказано, что 32-битное приложение в 64-битной винде может адресовать до 4ГБ.
Ужо загнал в стрим 3 тыс байт... пока не выпал.никаких вероятностей, 64битная винда в нотесстрим тоже больше 2гиг не бросит
Да просто .Bytes long возвращает. Потом переполнение происходит.Самое смешное, что .Bytes при этом отображает какую-то фигню, а не реальный размер
Причем фигню он начинает показывает после 2 ГБ.
зы: фигня это разница между реальным размером стрима и числом кратным 2 ГБ. Т.е. в моем случае при размере файла 4 294 971 096 байт .Bytes возвращает 3 800, что является разницей между размером файла и числом 4 294 967 296 (2 * 2ГБ).
Dim FileOS As JAVACLASS, FileOSObj As JavaObject
Set FileOS = jSession.GetClass("java/io/FileOutputStream")
Set FileOSObj= FileOS.CreateObject("(Ljava/lang/String;)V", sPath)
.....
Call FileOSObj.close()
ты смог и внести в стрим и прочитать из него 4 гига?Короче, Тоха, ты был не прав!
А людя в нете правду писали. Стрим загнал в файл ровно 4 294 971 096 байт и дальше писать перестал.
Самое смешное, что .Bytes при этом отображает какую-то фигню, а не реальный размер
Причем фигню он начинает показывает после 2 ГБ.
Что такое, не умеешь признавать неправоту? Надо было сначала протестить, перед тем, как утверждать неизвестное тебеты смог и внести в стрим и прочитать из него 4 гига?
а бросила.64битная винда в нотесстрим тоже больше 2гиг не бросит
On Error Goto ErrH
Dim jSession As New JAVASESSION
Dim FileOS As JAVACLASS, FileOSObj As JavaObject
Set FileOS = jSession.GetClass("java/io/FileWriter")
Set FileOSObj= FileOS.CreateObject("(Ljava/lang/String;)V", "./testout.txt")
Dim i As Long, j As Long, gig As Long, meg As Long, meg100 As Long, c As Integer
meg=Clng(1024) * Clng(1024)
meg100=meg * Clng(100)
gig= meg * Clng(1024) '1G
Dim templ As String
Dim buff As New StringBuffer(32000)
Print {100M Buffering...}
For i=1 To meg100
buff.append({0})
Next
Print {100M To String...}
templ=buff.toString()
Print {Write File...}
For i=1 To 100
FileOSObj.write(templ)
c=c+100
Print Cstr(c) & {M}
Next
Print {Close File}
Call FileOSObj.close()
Quit:
Exit Sub
ErrH:
RaiseError
Resume Quit
Дело в том, что его не надо "переводить под Java", т.к. он изначально был написан на ней, а уж потом переложен на LSниже работающий вариант, который "класть" хотел на кривые NotesStream
StringBuffer брать здесь
работает о-о-чень тоскливо (пересылки в памяти LS долгие) оптимизацией и переводом на java не занимался
Обучение наступательной кибербезопасности в игровой форме. Начать игру!