Avatar billede davidfossil Nybegynder
15. maj 2005 - 12:43 Der er 7 kommentarer og
1 løsning

Flytte alt data fra én stream til en anden

Jeg har en stream - fra Assembly.GetManifestResourceStream() - som jeg gerne vil læse alt indholdet fra, og skrive de direkte over i en anden stream.

Hvad er den letteste (mindst resourcekrævende) måde at løse dette på?
Avatar billede arne_v Ekspert
15. maj 2005 - 12:45 #1
en while løkke med Read og Write på en stor buffer
Avatar billede arne_v Ekspert
15. maj 2005 - 12:46 #2
byte[] b = new byte[100000];
        int n;
        while((n = f1.Read(b, 0, b.Length)) > 0)
        {
            f2.Write(b, 0, n);
        }
Avatar billede davidfossil Nybegynder
15. maj 2005 - 12:49 #3
kan jeg ikke undgå bufferen og skrive direkte?
forestiller mig at den buffer æder noget ram i længden, hvis metoden skal køres tilstrækkelig ofte...
Avatar billede arne_v Ekspert
15. maj 2005 - 12:52 #4
ikke mig bekendt

lige så snart b går ud af scope så bliver den hukommelse jo garbage collectet

du kan selvfølgelig genbruge den samme hukommelse fra gang til gang for at spare
lidt på GC men det er i småtings afdelingen
Avatar billede davidfossil Nybegynder
15. maj 2005 - 13:00 #5
Ok, fandt lige på en anden løsning som du måske kan svare på:
Den fil jeg ønsker at udskrive, er næsten den mindste i hele verden - 43 bytes :o)
Kan jeg ikke få den skrevet om til nogle hex-lignende tal, som jeg kan blot kan hardcode ind i min klasse.

Ex:
byte[] data = new byte[] {31f, 6a0};

Noget i den dur? Hvordan? :o)
Avatar billede arne_v Ekspert
15. maj 2005 - 13:23 #6
hvis det altid er den samme fil - jo

hvis det er tekst kan du vel bruge en string - men til binære data er
byte[] fint - dog er range for byte 0x00 til 0xFF
Avatar billede davidfossil Nybegynder
15. maj 2005 - 13:53 #7
jeg har fået det til at virke.
tak for hjælpen, igen igen - smid nu er svar :)
Avatar billede arne_v Ekspert
15. maj 2005 - 14:02 #8
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester