469,331 Members | 5,644 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,331 developers. It's quick & easy.

BinaryWriter and filesize limit. Is there any?

Hi,
In my app, I open a file using a FileStream then pass it to a
BinaryWriter. I then use the BinaryWriter instance to write to my file. But
a problem arose : The file never gets bigger than 1kb. The code calls the
bw.write(TheValue), but nothing is written after 1kb. I'm I missing
something?

Here's the way I create my FileStream and BinaryWriter :

Filename = System.Environment.CurrentDirectory() & "\msec.dat"
fs = System.IO.File.OpenWrite(Filename)
bw = New System.IO.BinaryWriter(fs)

When I write I do:

bw.write(TheValueToWrite)

And when done writing, I do :

bw.close
fs.close

Am I missing something?

Thanks

ThunderMusic
Aug 5 '05 #1
6 2628
What's "TheValueToWrite" defined as? Are you just writing one value?

Scott Swigart
VB - MVP

"ThunderMusic" wrote:
Hi,
In my app, I open a file using a FileStream then pass it to a
BinaryWriter. I then use the BinaryWriter instance to write to my file. But
a problem arose : The file never gets bigger than 1kb. The code calls the
bw.write(TheValue), but nothing is written after 1kb. I'm I missing
something?

Here's the way I create my FileStream and BinaryWriter :

Filename = System.Environment.CurrentDirectory() & "\msec.dat"
fs = System.IO.File.OpenWrite(Filename)
bw = New System.IO.BinaryWriter(fs)

When I write I do:

bw.write(TheValueToWrite)

And when done writing, I do :

bw.close
fs.close

Am I missing something?

Thanks

ThunderMusic

Aug 5 '05 #2
hi,
no, I'm not writing just 1 value... the "TheValueToWrite" was just a name I
put there because it could be almost any base type : string, bit, byte,
int16, int32, int64, et al. I go through many steps and would have to write
from 2k to about 500k (I don't think it will go higher than that, but it
could).

For now, I write almost just strings, int32 and booleans but it could be
anything...

thanks

ThunderMusic

"Scott Swigart" <sc***@swigartconsulting.com> a écrit dans le message de
news:26**********************************@microsof t.com...
What's "TheValueToWrite" defined as? Are you just writing one value?

Scott Swigart
VB - MVP

"ThunderMusic" wrote:
Hi,
In my app, I open a file using a FileStream then pass it to a
BinaryWriter. I then use the BinaryWriter instance to write to my file. But a problem arose : The file never gets bigger than 1kb. The code calls the bw.write(TheValue), but nothing is written after 1kb. I'm I missing
something?

Here's the way I create my FileStream and BinaryWriter :

Filename = System.Environment.CurrentDirectory() & "\msec.dat"
fs = System.IO.File.OpenWrite(Filename)
bw = New System.IO.BinaryWriter(fs)

When I write I do:

bw.write(TheValueToWrite)

And when done writing, I do :

bw.close
fs.close

Am I missing something?

Thanks

ThunderMusic

Aug 5 '05 #3
There shouldn't be anything special beyond what you're doing. Here's a
console app that writes out about 4MB using the same technique.

Imports System.IO

Module Module1

Sub Main()
Dim data As String = "0123456789012345678901234567890123456789"
Dim filename As String = System.Environment.CurrentDirectory() &
"\msec.dat"
Dim fs As Stream = File.Open(filename, FileMode.Create,
FileAccess.Write)
Dim b As New BinaryWriter(fs)

For i As Integer = 1 To 100000
b.Write(data)
Next

b.Close()
fs.Close()
End Sub

End Module
"ThunderMusic" wrote:
hi,
no, I'm not writing just 1 value... the "TheValueToWrite" was just a name I
put there because it could be almost any base type : string, bit, byte,
int16, int32, int64, et al. I go through many steps and would have to write
from 2k to about 500k (I don't think it will go higher than that, but it
could).

For now, I write almost just strings, int32 and booleans but it could be
anything...

thanks

ThunderMusic

"Scott Swigart" <sc***@swigartconsulting.com> a écrit dans le message de
news:26**********************************@microsof t.com...
What's "TheValueToWrite" defined as? Are you just writing one value?

Scott Swigart
VB - MVP

"ThunderMusic" wrote:
Hi,
In my app, I open a file using a FileStream then pass it to a
BinaryWriter. I then use the BinaryWriter instance to write to my file. But a problem arose : The file never gets bigger than 1kb. The code calls the bw.write(TheValue), but nothing is written after 1kb. I'm I missing
something?

Here's the way I create my FileStream and BinaryWriter :

Filename = System.Environment.CurrentDirectory() & "\msec.dat"
fs = System.IO.File.OpenWrite(Filename)
bw = New System.IO.BinaryWriter(fs)

When I write I do:

bw.write(TheValueToWrite)

And when done writing, I do :

bw.close
fs.close

Am I missing something?

Thanks

ThunderMusic


Aug 5 '05 #4
thunderbyte,
In my app, I open a file using a FileStream then pass it to a
BinaryWriter. I then use the BinaryWriter instance to write to my file.
But
a problem arose : The file never gets bigger than 1kb. The code calls the
bw.write(TheValue), but nothing is written after 1kb. I'm I missing
something?


Strange, if I use your code to write 15Kb of bytes I get 15Kb

Cor
Aug 5 '05 #5
Is it possible that when you write TheValueToWrite to the file, you are
overwriting what is already in the file? Try opening the file stream
in Append mode so that subsequent writes are appended to the end of the
current file.

Aug 5 '05 #6
hi,
Finaly, I found my problem was because while the app was running the
application path was changing, so the file was not writing at the same place
anymore. So when I was looking back to the file that was written (before the
path change) it was 1k long (just a coincidence it was exactly this long),
but the other one (written later in the app process, after the path change)
was containing all the required data.

I replaced the application path with a constant path and now it works fine.

Sorry for bothering and thanks for all the help you provided

ThunderMusic

"ThunderMusic" <NO*******@sympatico.caSPAMATALL> a écrit dans le message de
news:eV**************@TK2MSFTNGP10.phx.gbl...
Hi,
In my app, I open a file using a FileStream then pass it to a
BinaryWriter. I then use the BinaryWriter instance to write to my file. But a problem arose : The file never gets bigger than 1kb. The code calls the
bw.write(TheValue), but nothing is written after 1kb. I'm I missing
something?

Here's the way I create my FileStream and BinaryWriter :

Filename = System.Environment.CurrentDirectory() & "\msec.dat"
fs = System.IO.File.OpenWrite(Filename)
bw = New System.IO.BinaryWriter(fs)

When I write I do:

bw.write(TheValueToWrite)

And when done writing, I do :

bw.close
fs.close

Am I missing something?

Thanks

ThunderMusic

Aug 7 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

8 posts views Thread by Michel Rosien | last post: by
4 posts views Thread by Ken | last post: by
17 posts views Thread by Filip Strugar | last post: by
8 posts views Thread by VB Programmer | last post: by
3 posts views Thread by =?Utf-8?B?ZnVuZG9vX2ty?= | last post: by
reply views Thread by suresh191 | last post: by
1 post views Thread by haryvincent176 | last post: by
reply views Thread by Marylou17 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.