Hej! Hej mm.... HejLäsa/Skriva fil i VB
jag skulle vilja veta hur det snabbaste sättet att läsa och skriva en fil är i VB... det jag skall göra är som följer...
<code>
open fil1
open fil2
do until fil1 är slut
Läsa in data från fil1
manipulera data( tex. kryptera eller liknande)
Skriva data till fil2
loop
close fil1
close fil2
</code>
mitt problem är alltså att det tar fän jävla tid att utföra detta på en 3Mb:s fil.... ändå sitter jag på en P4 1,5ghz... nån som har något bra förslag??
//MartinSv: Läsa/Skriva fil i VB
Det bästa är att du samlar ihop hela texten i en(1) variabel
därefter skickar du hela paketet.
Dim tmpStr As String
.............Läs in texten i tmpStr
Open "C:\test.txt" For Output As FileNum
Print #FileNum , tmpStr
Close #FileNum
På samma sätt är det överlägset att läsa in hela filen med
Open "C:\test.txt" For Input As FileNum
Text1.Text =Input$(#FileNum,LOF(FileNum))
eller
tmpStr = Input$(#FileNum,LOF(FileNum))
Close #FileNum
SvenSv: Läsa/Skriva fil i VB
jag ska hantera binära filer =)... läsa in en del i taget tror jag ... om man läser in en fil på 3Mb o har den i minnet och sedan dumpar den i en annan fil så borde det bli en ganska långsam hantering eller?
därför tror jag att jag behöver ha 2 filer öppna sammtidigt... en att läsa från bearbeta datan och sedan skriva till fil 2 och fortsätta detta tills fil 1 är slut...
//MartinSv: Läsa/Skriva fil i VB
Du kan klart ha dem öppna samtidigt budskapet är
att du skall läsa in dem som en enda "chunk"
Du har alltså inte testat.
Om du ställer frågor får du väl analysera svaret
om den nu är binär så får du klart läsa in den med Put #
men som ett block om de nu skulle hjälpa ,du kan ju lika
väl läsa in den med Input
Sven