File I/O And Registry - Modifying Bytes In File Without Rewrite
May 12, 2012
I've been trying for a long time to create a sorted table of values in a particularly specific way, and I seem to be running into a wall in .NET's file operations. The premise is this - I'm creating a table of values which are being stored as [1 Byte][2 Bytes][3 Bytes]. The location within the file is a value that relates to these three stored values, and so I'm attempting to seek to a specific position in the file, write the 6 bytes into that position, and repeat. There are literally billions of these values, and the total file size is over 100 GB.
Now, I've tried multiple methods to do this, but every single time, it decides it needs to rewrite the ENTIRE FILE every time any change is made. This results in every one of these billions of iterations taking a good 15 minutes, making the task literally impossible. I'm using .NET 4, and I've attempted to use Text, Binary, and Random Access to get it not to rewrite the entire file every edit, but it simply will not obey.
So my question boils down to this: How do I edit specific bytes in a file without writing more than just those bytes? The entire file has been pre-created to the precise size required, and no bytes will be added or deleted in the process. I simply need to overwrite the bytes that already exist.
I need a code that rewrite the Realmlist.Wtf file but before that it have to ask for the path to the file. And if its possible it have to remember the path, so if I click it again it automatically change it.
I need to write data to a file, preferably in binary format, but I am unaccustomed with the concept. Where's the easiest place to get the basics? I could come here with a specific need, but I'm at the point right now where I am more willing to work within the confines of keeping it simple.
Here's what I know: 1. how to open a new file 2. how to specify the record length 3. how to close the file
Some specific questions:
Does the record length have to be constant throughout the file?
Can I read the nth record without reading the whole file?
I am working on a VB Console Application that takes an Autocad drawing type DWG and converts it to a PDF using a shell command that calls a third party application. In this case, acmecadconverter.exe from www.dwgtool.com. Then the PDF that is created needs a unique watermark, so I call a second application for that called pdftk.exe from www.accesspdf.com/pdftk/.
Everything works as intended, except when I try file names that contain spaces. The file system object does not tolerate spaces in the drawing file name. For instance, the following command gives me a system.io.filenotfoundexception...
I'm currently developing an editor for an AFL management sim.I want to be able to load three or four multidimensional arrays to the program, then save them to the same file. I tried the tutorial on here but got completely muddled up. Why can't it be easy like in VB6 When it was like 10 lines of code tops!
I am writing a program to calculate Pi to several hundred billion decimal places and this will require lots of GB of memory. I wrote a test program in VB2008 that saved the first 16 digits of Pi (without the decimal point) to both a text file and a random access file, just to be sure it was outputting the numbers properly. For reference the first 16 digits of Pi are:
Our program will start with the help of a FileSystemWatcher object. How can we check or the file is total copied, for example the file is 100 Mbyte it take a time it's ready for use. Idea:
Do While True Try N = testForUse(BigFile) If N = 1 Then Exit Do
I found a CSS file while I was searching for how to create tabs without using images. I came across CSS Tabs 2.0. which serves my purpose.However, now I need to customize it to fit my asp.net page, and I can't seem to be able to get anywhere.The CSS file uses a
<ul and an <li
I am using a Table with <tr> and <td>
This is the sample code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
I have to convert this as stated. I am trying to retrive the next position line in an .txt file based upon a user's integer.Basically retrive the next .txt line from user input to an lbldisplay.
Option Explicit On Option Strict On Option Infer Off Public Class frmMain
I'm trying to access a database (SQL Server 2008 express) using Visual Basic 2010 Express. First I got a permission error that was solved modifying the Database permissions. Now I get a new error message "This file is in use. Enter a new name .." I already have changed the Autoclose propertie to true, and also tried detaching the Database.
I'm using Windows Vista Home Premium, my string: Data Source=.SQLEXPRESS;AttachDbFilename="C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQL10MSSQLDATAemplo1.mdf"; Integrated Security=True; Connect Timeout=30; User Instance=True
1. The application's text box controls are entered manually in my.settings (e.g., tb1, tb2, tb3)
2. The application user "adds" a row of text boxes, which are iteratively assigned a name to match the above my.settings names
3. Upon "save" by user, the text in each text box is associated with its control (e.g., If cntl.Name = "tb1" then My.Settings.tb1 = cntl.Text)
4. The User needs to delete one or more rows previously added
Question:Under #4 of above, what is the best way to delete the rows and how can I use the app.config file to update the above data so I can reuse the named text boxes and keep everything sequential?
Error is coming Registry Access is not allowed.While Opening a Key.
Code: Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click NewDelete("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun", "Sonia") End Sub
I've had a bit of a look around the net and on the forums but I've yet to find an answer to my question. I've got Visual Basic 2008 Express and I'm trying to write some registry entries, I can write strings fine just using
I modified some code to suit one of my other programs, but have come across a difficulty: For some reason, the output file is not outputting. I can tell all the calculations are being made (my computer is loud), but it's just not outputting.What should I look out for when modifying stanav's code that would cause the output file not to be outputted ?
I have written a VB.NET 2008 application, incorporating Microsoft.Office.Interop.Excel, that modifies an existing Excel 2007 spreadsheet. It works perfectly on my WinXP development computer.When I upload the app to a Microsoft Web Server 2008, it opens the file and reads from the file, but when the app tries to save the file, it throws this exception:"System.Runtime.InteropServices.COMException (0x800A03EC): 'july2009.xlsx' is read-only. To save a copy, click OK, then give the workbook a new name in the Save As dialog box."The file is NOT read-only, nor is it opened by any other user or app.The app and the Excel file both reside on the D: (data-only) drive.My first instinct was to look at file permissions. When nothing else worked, I literally created a temporary Group, added EVERY user and security entity to it and granted the group full control of the entire D: drive. No luck.
Then I tried manually elevating the permission by running my app as administrator. No luck.Finally, I copied the file to my XP development computer and ran the app there. Of course it worked perfectly.Can anyone please tell me how to give my program permission to edit a file on Server 2008?
Does VB 2010 offer native support for reading and modifying ID3 metadata in MP3 files? A brief search through MSDN shows me nothing, and I see someone says he had to write his own library of code for it. But that was some years ago, when you had to write code to access JPEG Exif metadata, and I know that's changed with the Image class and the GetPropertyItem method; so I'm hoping MP3 files have their own methods and properties now for this.
I've gone through about 16 hours and two packs of cigarettes trying to figure this out. First a little background. I was using 6.0 up until 2004 when I went to prison. I'm out now, and trying to relearn the trade, using VS 2005. I'm currently porting some 6.0 code from another project, SpyCast Webcam Studio, into VB 8.0. It's disheartening, to say the least. None of the old built-in subs/functions work anymore, so I have to scour the forums to relearn each and every function.The section I'm doing now takes a snapshot from the webcam (Video API --> PictureBox --> Save as Jpeg), then upens the file to upload it to the server via HTTP POST. I've been using this code in SpyCast for years with no trouble, but I spent many hours trying to piece together the right code to open the binary file to read its contents. I pieced together two methods I found around the forums, one using FileStream() though the code I found wasn't for binary files, even though it said it was, so that code doesn't really work. Method two uses Microsoft.VisualBasic.FileOpen() and works better.
Here's the kicker. By the time I run through the rest of the rigamarole of uploading the file, by the time I read it on the webserver, it's *slightly* corrupted. It's a valid Jpeg, no errors, but the picture looks like when I use to watch the Playboy Channel when I was a kid scrambled with weird colors and whatnot. [code] Each "chunk" is basically one "line" of the file. It looks like a single LineInput() return is the text between two carriage returns. Am I correct? I tested this with a flat text file, and it looks true. However, That one input line returns the text or data with the carriage returns *stripped*! ***?!? =( Fine, I have no problem adding my own vbCrLf to each LineInput(), if I were opening text. but this's binary. A character could be Chr(10) or Chr(13), both of which are removed from the original file contents.So I could very well need to use something other than LineInput(), but I haven't found any other examples on the web using this method.
trying to find a decent answer for my question; I do have a utf8 file which I (down)load, manipulate and wanting to save back again.The result always is that the file I produce is not in utf8 format;
Dim fs2 As New FileStream("c: est.dat", FileMode.Create, FileAccess.Write, FileShare.None) Dim w As New BinaryWriter(fs2, Encoding.UTF8)
i am working on an application called logonscreenchangerxp i made my program and when i run it on xp virtualmachine i get errors the program is made using vb 2008 and using .net framework 2.0 i am not able to get full permissions to modify boot.ini file and a regisrty value and to delete a file
Currently, I am try to get the email addresses that have been saved or stored by the user of the computer. This isn't the emails that the user has sent or received, or the contacts he/she has in his address book. Just simply the email accounts that have been accessed from the computer.I know that there are some locations stored in the registry that have the email account. The email addresses that are used on the current computer. I just can't seem to find them on my computer.I am not sure if the registry is the only place to find it or if it stored on the web browser such as internet explorer or google chrome.
I am writing an application that connects to a specific com port. This com port can change depending on how many physical ports are on the PC, and if other USB devices have installed com ports before this one.
I have the communication to the com port all working great, but I need to get the com port description not just the "COM#" which is all I currently get.
I found in the registry where the description is stored but am having trouble doing what I need.
there is a varied number of sub keys. The are numbered 0000-NNNN depending on how many ports you have. Inside each of these keys, there are multiple values, although I am only interested in one or 2 of them.
My problem is, that I do not know how to get a list of the subkeys (the 0000-NNNN keys/folders) from the original key I posted. I have looked through a few registry tutorials, and I can view the default value in the listed key, but I could not find how to list the subkeys of the listed key.
Does anyone have any sample code they could share that shows how I can get a listing of subkeys, and then run through those subkeys checking for a specific value in one of the strings contained in the subkey?
I am writing a backup program that zips files. Using some sample code I have the following that creates a zip file. Problem is it does not get any subdirectories or files. Where am i going wrong?
Dim azFileNames() As String = Directory.GetFiles(SourceFolder) Dim objCrc32 As New Crc32() Dim zipStream As ZipOutputStream
[CODE]...
Alternativley, there is another component to the zipping dll that I could probably bypass the above altogether. It is: FZ.CreateZip(DestFile, SourceFolder, True, "", "") Where DestFile is (Output stream as system.io.stream). I'm trying to read all the files, directories, sub dir and files, etc from a specific location, let's say 'My Documents' into Destfile in which the FZ.CreateZip zips the file. FZ is FastZip which is from icsharpcode.net. They have c# examples, but that's greek to me. I'm trying to just learn VB!
I've got an app which uses a background worker to copy files. It works fine but some files are quite large and it "appears" as though the app isn't doing anything. Is there an alternative to the File.Copy method of copying files so I can report on the progress of individual file copies, like the percentage complete?
I need to implement a routine to read a plain text file, BUT that file has a predefined format.The file format is as follows:
Quote:
<FILE_PROPERTIES> 'The "< >" also appears Propertie1="String" 'It's possible to have spaces after or before the "=" Propertie2="String" Propertie3="String" PropertieN="String"
[code]....
Is there any Windows API Routine to read something like that?Or could you point me an URL where something is implemented?I don't want a procedure to read the file line by line and comparing them with Line Input because blank spaces, empty lines and comments starting with " // " may appear too, and I don't want to take them into account, but also I need to save changes to the file, but only to the modified section, without having to read the whole file, and re-write it completely.
Binary access can't work, because I don't know what's the size of each "section", since the number of elements into it can change. I need something like the "ReadINI" Windows API Procedure, but allowing me to read the "[XXX]" sections headers, and also the "<XXX>" file title header.
Before I begin I would like to mention that I am not a noob in VB, it's just I've never had to do anything this complex before. Basically what I want is to have a program that you can load a txt file in, have it copy key words, and paste it in a textbox so I can use it later on. So in this text file, there is a bunch of info, but I am only needing a certain part. Here is an example of a text file (actually a .dat file, but is easily read):