Toon posts:

[C#] Relatieve file lezen

Pagina: 1
Acties:

Verwijderd

Topicstarter
hoi
ik heb een file die ik gegenereert heb in COBOL en dat bestandstype is relatief
nu wil ik die file kunne lezen in C#
als ik hem opendoe met kladblok krijg ik dit
code:
1
d'                                     100000010RECORD000001 DATA100000010DATA100000020RECORD000002 DATA100000020DATA                                        100000040RECORD000004 DATA100000040DATA100000050RECORD000005 DATA100000050DATA


nu in een hexeditor kan ik de hexa waarden lezen en die zijn veel interessanter
dan krijg ik dit dus
code:
1
64 1A 27 00 00 00 00 ... 01 31 30 30 30 30 30 30 31 30 52 45 43 4F 52 44 ... etc

maar hoe krijg ik nu die hexa waarden van die file te zien? ben al aan het prutsen geweest met streamreader enzo, maar die leest blijkbaar alleen ascii in.
kan iemand mij helpen? wil gewoon de hexa waarden van elke byte weten zodanig dat ik aan de hand van die hexa waarde kan voortwerken.
dank bij voorbaat

Verwijderd

Je OP is uiterst onduidelijk.
Ten eerste: wat bedoel je met relatieve bestanden? Bedoel je daar 'symbolic' links naar andere bestanden mee?
Ten tweede: heb je uberhaupt al gekeken hoe de streamreader werkt?
Ten derde: wat heb je zelf al geprobeerd, incl. code?
Ten vierde: waar heb je al gezocht?

  • kevin
  • Registratie: Februari 2000
  • Laatst online: 11-02-2024
Kijk eens naar de binaryreader, misshien lukt het daarmee.

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:04
Met een relatieve file bedoel je een file die je (in COBOL dan) niet sequentieel hoeft te lezen, maar die je mbhv z'n indexen kunt lezen; dus, direct ergens de records lezen die aan een bepaalde key voldoen ? :?

https://fgheysels.github.io/


Verwijderd

Topicstarter
idd da bedoel ik
maar probleem is dat die file vol met hexa waarden zitten dien niet in utf-8 gelezen kunnen worden.
dus mijn vraag is hoe ge die hexa waardes tevoorschijnt tovert uit zo'n txt bestandje

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:04
Wil je die file sequentieel lezen, of wil je 'm lezen zoals je in COBOL kan ?

https://fgheysels.github.io/


  • TimTil
  • Registratie: Mei 2005
  • Laatst online: 19-10 20:19
Hoi

Misschien dat dit een toegevoegde waarde heeft voor de gezochte oplossing.

code:
1
2
3
4
5
6
7
8
9
byte[] byteArray = new byte[]{};
FileStream fileStream = new FileStream("c:\\mijnbestand.dat", FileMode.Open, FileAccess.Read)
fileStream.Read(byteArray,0,fileStream.Length);
fileStream.Dispose();

foreach(byte byteObject in byteArray)
{
       // doe met het 'byteobject' wat je wilt
}


[/quote]
edit op basis van reactie MTWZZ
[quote]

[ Voor 23% gewijzigd door TimTil op 17-11-2006 09:41 ]


  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

^^ doe het dan goed en zorg dat je array eerst geinitialiseerd is. Bovendien voegt dit niet echt iets toe aan het probleem van de TS. Dit is gewoon het sequentieel inlezen van een file plus dat je nu byte voor byte gaat lezen wat waarschijnlijk niet de bedoeling is.

Wat de TS waarschijnlijk beter kan doen is bepalen wat de structuur is van een zo'n data entry / record en daar een struct van maken in C#, vervolgens kun je een brok data inlezen en die vervolgens Marshallen naar het C# struct zodat je dus een werkend datatype hebt waar je wat mee kan ipv de rauwe data in een stream.

[ Voor 79% gewijzigd door MTWZZ op 17-11-2006 09:40 ]

Nu met Land Rover Series 3 en Defender 90


  • PhysicsRules
  • Registratie: Februari 2002
  • Laatst online: 31-03 07:26

PhysicsRules

Dux: Linux voor Eenden

Aangezien je blijkbaar verstand hebt van COBOL: is NetCobol misschien wat voor je?

NetCobol
Dan kun je met NetCobol een assembly maken om je bestand op z'n Cobol's in te lezen, en op een .Net vriendelijke manier beschikbaar te maken.

Ik ben benieuwd :)
Pagina: 1