Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
1

Какая функция читает количество байт из файла ?

30.01.2012, 17:37. Показов 1806. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Все привет! Люди подскажите, какая функция читает количество байт из файла на асп?

вот на си нашел... а на
асп не знаю... а нужно позарез :-(

Спасибо.

вот что то типа....

Функция FileRead(Handle: Integer; var Buffer; Count: Integer): Integer;
-----
Модуль: SysUtils

Описание
Функция читает Count байт из файла, дескриптор
которого указан в параметре Handle, в буфер Buffer и возвращает количество прочитанных байт.
Если
значение Count превышает размер файла, то фактическое количество прочитанных байт будет меньше
значения Count.
Дескриптор Handle, может быть получен с помощью функций и FileCreate и
FileOpen.
----
http://atrussk.ru/delphi/5/file/file5505.htm
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2012, 17:37
Ответы с готовыми решениями:

Какая функция читает внутреннее время компьютера в секундах?
Какая функция читает внутреннее время компьютера в секундах? A) stime() B) time(SECONDS)...

Программа читает содержимое файла, подсчитывает количество пробелов и выводит их количество
Всем привет. Можете помочь с программой: она должна принимать на вход имя файла и посчитать в нем...

Функция ReadFile читает половину содержимого файла
Всем доброго времени суток! С наступившим Новым годом и Рождеством! Суть моей проблемы в том, что...

Файл-функция не читает переменные с другого m-файла
Есть основной файл, где запускается решение диф. уравнения вида: = ode45('vdpol',...

6
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
30.01.2012, 18:45 2
Пользуйся объектом ADODB.Stream. Вот пример.
Код
Const BUFFER_SIZE = 10000

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1 ' adTypeBinary
objStream.LoadFromFile("c:somefile.zip")

buf = objStream.Read(BUFFER_SIZE)
Do While(LenB(buf) > 0)
    For I=1 To LenB(buf)
        byteValue = AscB(MidB(Buf, I, 1))
        'charValue = Chr(AscB(MidB(Buf, I, 1)))
    Next

    buf = objStream.Read(BUFFER_SIZE)
Loop

objStream.Close()
И, кстати, функция FileRead из ObjectPascal (Delphi), а не C/C++
0
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
31.01.2012, 10:43  [ТС] 3
Спасибо bazile, кажется это то что нужно...
Теперь я только хотел немного внести коррективы в свой вопрос:

Eсть текстовой файл мне нужно его разбить на блоки по 4096 байт, причем так что бы я мог брать ту информацию которая находиться в блоке размером 4096

Ну что то типа 0 до 4096 - берем информацию
от 4096 до 8191 - берем информацию
и т.д.

Буду очень признателен, если поможешь....
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
31.01.2012, 10:59 4
1) Меняешь тип потока на текстовый objStream.Type = 2 ' adTypeText
2) Указываещь кодировку файла - objStream.Charset = "windows-1251"
3) Вместо Read используешь функцию ReadText(4096) - 4096 это кол-во символов которые надо прочитать. Функцию вернет тебе строку.
0
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
31.01.2012, 11:41  [ТС] 5


Спасибо, друг! Ну и на последок, так что б уже все... еще вопросик

Я сделал процедурку

Sub ShowFolderSize(filespec)
Dim objStream, Buf, i, Num, ByteValue, CharValue
Const Buffer_size = 10000

Num = 0

set objStream = Server.CreateObject ("ADODB.Stream")
objStream.Open
objStream.Type = 2 ' 1 - adTypeBinary | 2 - adTypeText
objStream.Charset = "windows-1251"
objStream.LoadFromFile(filespec)

Buf = objStream.ReadText(4096)
Do While(LenB(Buf) > 0)
For i=1 To LenB(Buf)
ByteValue = AscB(MidB(Buf, i, 1))
CharValue = Chr(AscB(MidB(Buf, I, 1)))
Response.Write " ByteValue=" & ByteValue & " CharValue=" & CharValue & "<hr>"
Next
Buf = objStream.ReadText(4096)
Loop

objStream.Close()
set objStream = nothing
End Sub


тока не пойму как мне сделать так что бы он возвращал мне найденное из интервала 4096 байт значения?


а вот структура самого файла...

BEGIN|23112005|000|123456789.333
BODY|1|1|0000|11|11012005|23112005|101512|123|1111111111222222333|1|11012005
BODY|2|2|0000|22|11012005|23112005|101512|123|1111111111222222222|1|11012005

результата:

ByteValue=66 CharValue=B
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=69 CharValue=E
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=71 CharValue=G
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=73 CharValue=I
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=78 CharValue=N
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=124 CharValue=|
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=50 CharValue=2
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=51 CharValue=3
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=49 CharValue=1
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=49 CharValue=1
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=50 CharValue=2
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=48 CharValue=0
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=48 CharValue=0
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=53 CharValue=5
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=124 CharValue=|
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=48 CharValue=0
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=48 CharValue=0
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=48 CharValue=0
--------------------------------------------------------------------------------
ByteValue=0 CharValue= ByteValue=124 CharValue=|

Признаю, что занний не хватает

Спасибо, очень выручил...
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
31.01.2012, 12:27 6
ReadText возвращает строку, а не массив байтов, поэтому здесь не следует использовать функции LenB и MidB. Для работы со строками нужно использовать функции Len, Mid, Right, Left и прочие. Полный список функций есть в MSDN
http://msdn.microsoft.com/libr... frame=true

Цитата Сообщение от DimonCN
тока не пойму как мне сделать так что бы он возвращал мне найденное из интервала 4096 байт значения?
Я тем более не знаю. Это вопрос не по ASP, а по алгоритму работы. Из твоего вопроса непонятно что нужно искать в каждом фрагменте файла. Так как файд имеет регулярную структуру то возможно тебе помогут функции Split и InStr. Больше ничего посоветовать не могу.
0
0 / 0 / 0
Регистрация: 30.01.2012
Сообщений: 27
31.01.2012, 13:04  [ТС] 7
Спасибо, я кажется разобрался...
0
31.01.2012, 13:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2012, 13:04
Помогаю со студенческими работами здесь

Функция, возвращающая количество байт в файле
Есть ли в python функция , которая возвратит мне колличество байт в файле? import string ...

Программа, которая считывает 8 байт из созданного файла MyFile.dat, начиная с 7-го байта, относительно начала, и 10 байт от конца файла
Привет, вот задание собсно Напишите программу, которая считывает 8 байт из созданного ранее файла...

Функция fopen() для большого текстового файла читает только первую строку
Есть текстовой файл 4.5 мб, нужно его открыть для чтения из него строк. FILE *f =...

Функция: изменить старший байт числа на заданное значение, не изменяя младший байт
функция изменяет старший байт числа на заданное значение не изменяя младший байт. как можно проще

Сколько байт читает BufferedReader.read() ?
В доках написано что read a single character, но Returns: The character read, as an integer in the...

half duplex, читает только 1 байт
пытаюсь заставить работать ds18b20 на полудуплексном режиме usart плата stm32f0 discovery дачтик...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru