VS 2008 When Is StreamWriter / BinaryWriter / Serialization Most Useful?
Jun 16, 2011
Okay, this actually relates to some work I'm doing that I already have something in place. So if a change is necessary down the road, I'm in no hurry... But I did a dangerous thing and began reading. As I began reading about ways to stream file data, I became curious as to when it is a good idea to one method or the other.
I need to write a file that will be built mostly from simple text and divided by "|" but in one of its fields i must to use BinaryWriter to store the string as binary and not a simple text, is there a way to do it?
Can you delete stuff inside of a file after you have committed it to the binary file? I noticed that you can still read the stuff inside of a binary file.Also is there a step by step tutorial for the binaryreader and writer
I am taking in two html files and creating one out of them. To do this I am opening the first html file and not writing out the closing </body> and </html> tag and opening the second file and not writing out the corresponding opening tags, as well as the <style></style>section. I start a streamwriter, and write the lines out to it, and then close the streamwriter. My problem is that the output file is filled with strange characters. I've tried opening the streamwriter with different character sets as the third parm, but all this does is change the characters to different strange characters.It says charset=windows-1252 at the tops of the input files (and the output files for that matter - since I'm just reading stuff in and writing it out - with the exceptions mentioned above).Questions;First, do you think I am properly approaching appending two .htm files together?Second, how can I eliminate these strange characters.
I've been using XML serialization for a while, and today I realized something really odd. If I have a new line right after a "dot" (.), when i deserialize, I lose the dot. Has anyone ever had this happen to them? The following is my serialization code:
I am making a FlowLayoutControl panel which the user can edit by dragging controls onto it in any required order. The controls are mainly (subclassed) Buttons and (subclassed) TextBoxes, plus perhaps a few labels. There might easily be several hundred of them interspersed at random. I need to be able to save the FlowLayoutPanel and/or its list of controls to a file, and then restore the whole thing again later when needed.If I am not mistaken, this will involve serialization -- a subject about which I presently know next to nothing. I have tried trawling the web for introductions and relevant examples, but I am suffering from information overload. There is so much written about serialization that I don't know where to start.As I can't spend too much time on this, I'm hoping there is some simple way through all the complications. Can anyone here explain, or point me to, the basics needed for saving a control like my one?
I have created a huge monster based on generic objects and the BindingList. It is a web app that has users, security rights and restrictions, as well as the business logic to persist to the database. I have been using inProc sessions but each user creates about 50 megs of memory. I was initially told that would not be a problem, that a few users it at any time, and the items in the collections were supposed to be lot smaller, but I digress. For the amount of processing that the app has to do in real time, and for how it manages the data, the data it produces is 100%.
The speed and performance has been superior, but the only problem was it was on a box that was used for alot of other applications and it would run out of memory. I have since put it on Server 08 and have placed the Serializable attribute on all classes. I get a an error how ever when the web app tries to serialize the session. I get the feeling that there is an unsaid concensus that inheriting from BindingList is not supported by .net sql or state server session handling.
I used the ideas from this post to create a custom collection of my custom class, so that I would be able to easily sort my collection. My project uses binary serialization to save everything (well the important stuff anyway) to a file. The problem is that my custom collection now breaks the serialization.I can't seem to figure out how to get the custom collection to serialize![code]
I have function on client side that get file, make a byte array from it and send that array to the web service on server!This is the function on client side:
How do I get the current write-position using the BinaryWriter. I need to store the position in order to read from that position afterwards. (I know it would give the position where the next write would start, that will be taken care of).
I created a subroutine to copy and paste a file using the binaryreader and binarywriter. It works fine from what I can tell. The file sizes match up any how but I was wondering if anybody had an idea on a better way to get the amount of bytes that should be copied in one set.
binwriter.Write(binread.ReadBytes(100000)) I want to make the readbytes as large as possible without crashing the users computer.
2 Listboxes gives values to listbox3 like "listbox1item:listbox2item"When I export it to txt file and open in notepad, it shows listbox1item:listbox2item listbox1item:listbox2item listbox1item:listbox2item but when I open same file on wordpad and other text editors it shows like
I have two experimental web services. One is an asmx contained within a .net web application. The other is a WCF service library being invoked from the web application.The asmx basically does everything I need, but I think WCF would be better, except that it doesn't do anything as I would expect after fiddling with the asmx service.For example, the same method behaves differently in each:
' ASMX <WebMethod(BufferResponse:=True, EnableSession:=False)> Function Test(aObject as Object) as Object ' object will have been successfully serializaed into a dictionary
Public Sub LecteurLogin() '// Cr�ation du r�pertoire syst�me de CYS2011 Dim dir2 As String = "C:FicheStatsLogin" If Not IO.Directory.Exists(dir2) Then
[code]....
Basically this is a function I call during the program booting and it creates the necessary directory and also the LOGIN.CYS file empty... then later data can be added.My issue is that it keeps adding a line to the .cys (which is a .txt file) but I just want VB to create a plain text file with no content inside...
I'm creating a text file and, among other things, I need to write the text of the parent and child nodes of a TreeView to the file. I know how to write the contents and read them just fine, but what I can't seem to figure out is how to write the contents if I don't know how many parent nodes or child nodes there are. When I do, I usually do the following:
I am coming across a lot of odd and annoying problems in this program and have almost had enough lol.
I cannot figure this one out for the life of me. I have used streamwriter a hell of alot of times and never once experienced this. But basically I have a string array and I need to write the entire array to a text file with a new line for each array item. So I have gone ahead and done this:
[Code]...
However the outcome is the text file only contains 1 line and that line is the last item in the array yet I know the array has got at least 50 items in it.
I need to store/retrieve a bit from a data table of 3.268.760 bits long.
Using w As New BinaryWriter(File.Open("test.bin", FileMode.Create)) for x = 1 to 3268760 For i = 1 To 3268760[code]....
the w.write(?) stores a boolean value meaning 0/1 for false/true values, but Vb.net seems to use an whole byte to store this data which is too expensive for my table (3.268.760^2).Is there a pratical way to store/retrive single bits from a file using vb.net? (meaning as little as possible conversion to other types).
I am using BinaryWriter class to write a binary file to disk. When I invoke the Write method, passing an unsigned short value, it writes it in little-endian format. For example:
bw.Write(0xA000);
writes the value in the binary file as 0x00 0xA0. Is there a way to make BInaryWriter use Big Endian? If not, is it possible to create a new class, inheriting BinaryWriter and overload the Write function to make it write big endian?
I am using the Streamwriter to send simple messages to other machines in my office. But i hit across a problem today which i never thought about. If the computer im sending the message to, doesn't have the listener running, the sender crashes out. Is there anyway to trap the error, and deal with it nicely (i.e a message box) instead of the app quiting?
I'm getting a problem when writing text files using StreamWriter. The files read fine and they write fine if I'm not overwriting an existing file. They also write ok as long as I'm not writing over a file that only has one digit at the end of the name. For some reason when there are 2 digits at the end it crashes when I'm trying to save over an already existing text file. Here's my code.
above but 've tried all the different Encoding possibilites. Unicode, UTF32, UTF8, UTF7 as well as without those parameters listed where the close parentheses is right after StringForTextFile. I get the same result. If I'm writing a new text file that doesn't exist, then no problem or if I'm writing over an existing text file but it has 0 to 9 at the end then I'm ok but if I'm writing over an existing file and there is 10 or above(haven't tried triple digits or all values) then my application crashes. You see the test label in the code above because I was looking at exactly what file it was trying to overwrite and it is just as it should be.
Should I be using a different procedure? An example of a string that would cause a crash for the string StringForTextFile would be:
C:Name of My AppSeries1ScreenNumber10.txt
If it was being written for the first time then no problem or if the 10 at the end was 0 to 9 then no problem also. I've also tried and originally had it set up where there wasn't an If File.Exists(StringForTextFile) = True Then statement. It just always used the same code whether writing or overwriting and I wasn't having a problem that I remember. For some reason I started having a problem recently and I put the alternate methods of writing in.
I have a problem with an application I have written. To keep it simple, it does heavy math calculations. If the results meet a specific criteria, it is written to a text file on a line-line-basis.The problems is, if I go look at the data files, I will find non-numeric symbols mixed in with the numbers. Sometimes it is a question mark, "?". Other times, it is control or extended characters that Notepad or Wordpad cannot display. They can be mixed into the numbers, like so: 215x7 or 8948x, where "x" is the odd character. I thought the problem may have been my use of "DataFile.Flush". I removed that, but still have the corruption.
Below are my declarations and code fragments:
Dim Number as ULong Dim DataFile As System.IO.StreamWriter DataFile = My.Computer.FileSystem.OpenTextFileWriter(FilePath & fName, False) DataFile.WriteLine(Number)
The first time I had a problem, I thought it was my use of "Cstr()" in the WriteLine statement, with "Flush" as I stated above.I do not know if this is a situation internal to VB2008, or external, like hard drive buffers writing.
I made my own advanced networking system which uses System.IO.Streamwriter and Streamreader but offline. I would like to let this use a directory online, I have a webhost available for that, now how do I say to the program it has to look at a specific map with all the users information?
I now have already this into my login form:
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click On Error GoTo A
[CODE]...
Just curious if I can let my network grow out international instead of pc. Also I have a second question. I made a create account page which is supposted to make a text file with the txtUserName and txtPassword inputs, but it does create the file, but doesnt write any lines into it.
Code here:
Private Sub btnCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click Dim UserGenerator As System.IO.StreamWriter
I'm trying to use StreamWriter to write to a text file; it creates the file fine, but when I open it up, it's still empty. I marked the code below where the writing action takes place.
vb Public Sub BHorse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BHorse.Click Dim oMarketsReq As New BFExchange.GetAllMarketsReq Dim oMarketsResp As BFExchange.GetAllMarketsResp Dim BFWrite As System.IO.StreamWriter BFWrite = IO.File.CreateText("C:Datamarket.txt") With oMarketsReq
I have a client sending data to a server using a Serialized Structure. I get a rather...nasty stack trace message that I can't begin to figure out why it's doing what it is. Here's that Stack Trace:
Dim fstream = new filestream(some file here) dim bwriter = new binarywriter(fstream) while not end of file read from source file bwriter.write() bwriter.flush() end while
The question I have is the following. When I call bwriter.flush() does it also flush the fstream object? Or should I have to explicitly call fstream.flush() such as given in the following example:
[Code]...
A few people suggested that I need to call fstream.flush() explicitly to make sure that the data is written to the disk (or the device). However, my testing shows that the data is written to the disk as soon as I call flush() method on the bwriter object.