cpopham Posted January 12, 2006 Posted January 12, 2006 (edited) Okay, I am attempting to learn more about memorystreams and byte arrays as well because I think my hashing and crytography problems are arising from this area. I am reading a text file into an array, extracting a portion of the array to a memorystream, then writing that back out to disk. Just to see what is going on. Okay, I have everything working fine except the extracting of a portion of the array to the memorystream. Since it is string characters, I am doing something simple, I only want the last 9 characters of the original text file. I thought that I could use length - 9 to get those, or maybe since it is 0 based length - 10. However, that is not the case, to get the last 9 characters, I have to say something like length-11. Why 11? This is an odd number to me. Am I missing something here? Here is my code: Dim encoder As New UTF8Encoding '/Create UTF8 encoding (has more applications than ASCII) Dim fsIn As New FileStream(strOutFileArray, FileMode.Open, FileAccess.Read, FileShare.ReadWrite) '/Setup input filestream Dim rdIn As New StreamReader(fsIn) '/Setup streamreader Dim myfile As Byte() '/ByteArray to hold input file myfile = encoder.GetBytes(rdIn.ReadToEnd) '/Read input file in Dim msstream As New MemoryStream(11) '/Setup memorystream to hold data with length of data msstream.Write(myfile, myfile.Length - 11, 11) '/Convert byte array of data to memorystream Dim after As Byte() '/Byte array to hole data from memorystream after = msstream.ToArray '/Convert memorystream to byte array 'Dim intLength As Integer = msstream.Length / 8 'Dim strLength As String = intLength 'strLength = strLength.PadLeft(9, "0") 'Dim strJunk As String = "WE DO NOT WANT THIS LINE" '/Setup output Filestream Dim fsOut As New FileStream(strOutFileArray2, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite) Dim wr As New StreamWriter(fsOut) '/Setup streamwriter to output data wr.Write(encoder.GetString(after)) '/Convert byte array to string and write it to disk 'wr.WriteLine(strJunk) 'wr.WriteLine(strLength) wr.Flush() '/Flush the streamwriter to make sure all data is written to disk Could someone please explain this to me? Thanks, Chester Edited January 12, 2006 by PlausiblyDamp Quote ____________________________________________ http://www.pophamcafe.com I am starting a developers section, more tutorials than anything.
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.