Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:44 13.06.24 
Компютри и Интернет
   >> .NET
Всички теми Следваща тема *Кратък преглед

Тема Как се чете binary файл?  
Автор Werewolf (Demon Team)
Публикувано08.09.04 18:01



Здрасвейте,
трябва да прочета един файл който не е нормален ASCII текстов, а е BINARY. Проблемът е, че ако го чета като текстов файл с това по-долу не става:


Dim FileData As String

FileOpen(1, "D:\" & FileName, OpenMode.Input, OpenAccess.Default)
Do Until EOF(1)
FileData = FileData & LineInput(1)
Loop
FileClose(1)


Логично, че няма да стане, защото видях, че по този начин операторът LineInput() се ориентира по символите 0Ah и 0Dh, за край на реда и съответно ги реже. От тук получавам един прекрасен бинарен файл ако искам, но с липсващите въпросни байтове на всичките места на които се срещат. Моля ако някой има пример за четене на бинарен файл, да помогне
Благодаря.

[image]http://www.zcs.k12.in.us/ZCHS/images/wrestling.gif[image]


Тема Re: Как се чете binary файл?нови [re: Werewolf]  
Автор Survivor (минаващ)
Публикувано08.09.04 18:54



File.OpenRead ти връща FileStream. Върху него си правиш един BinaryReader, а пък той си има метод ReadBytes(). Нещо като:


Dim stream As Stream
stream = File.OpenRead(filename)

Dim reader As New BinaryReader(stream)
Dim block As Byte()

Do
block = reader.ReadBytes(256)
' тук си обработваш текущия блок
Loop While block.Length = 256


но след безсънни дълги нощи станах силен и голям
и вече знам, че мога да се справя сам


Тема Re: Как се чете binary файл?нови [re: Werewolf]  
Автор ess (мечтател)
Публикувано08.09.04 19:01



Ъъъъ, то хубаво си постнал в .NET и очевидно търсиш решение за VB.NET, но начина по който работиш е малко старичък...
Ето ти решението на VB.NET:


Imports System.IO

Module Module1

Sub Main()
Dim BinFile As FileStream = New FileStream("D:\WINNT\winhelp.exe", FileMode.Open)
Dim Size As Integer = BinFile.Length
Dim Buffer(Size) As Byte
BinFile.Read(Buffer, 0, Size)
End Sub

End Module

И на C#:

using System;
using System.IO;

namespace stream2
{
class Class1
{
[STAThread]
static void Main(string[] args)
{
FileStream stream = new FileStream("D:\\WINNT\\winhelp.exe", FileMode.Open);
int size = (int)stream.Length;
byte[] data = new byte[size];
stream.Read(data, 0, size);
}
}
}


както виждаш, почти еднакви са.

---
...и аз пиша на кирилица!

Тема Re: Как се чете binary файл?нови [re: ess]  
Автор Werewolf (Demon Team)
Публикувано09.09.04 09:26



Благодаря колеги
ами да, на VB.NET съм писал, но всъшност няма значение на какво ми отговарят. Благодаря за помоща и написаното в двата варянта

[image]http://www.zcs.k12.in.us/ZCHS/images/wrestling.gif[image]



Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.