I have a web app that I am developing at work. I need to be able to take input data and append a text file after (x) number of lines.
My web app is using asp.net with c#
Can anyone help me please?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
There’s no way of “inserting” into a file in general – or of going to a specific line, without reading all the others, unless they’re of a fixed size (in bytes).
Normally the approach would be something like:
(This ensures that at any one point there’s at least the old file in some form. You can make it slightly simpler if you just delete the old file and then move the new one into place.)
Don’t forget to ensure this is synchronized appropriately – you don’t want to have two copies of this algorithm running at the same time…
EDIT: If you’ve got XML files, then I’d suggest usually just loading it into the DOM (e.g. with LINQ to XML), making the change, and then saving it out again. Don’t treat it just like an unstructured text file.
You could potentially make this more efficient using
XmlReaderandXmlWriter– but you’re certainly going to have to read the whole original file and write out the new file. Have you benchmarked simple code and found it too slow? How often are you doing this? How big are the files?