On Mon, Feb 7, 2011 at 10:35 AM, Noon Silk <noonsli...@gmail.com> wrote:
> On Mon, Feb 7, 2011 at 10:29 AM, Bec Carter <bec.usern...@gmail.com> wrote:
>> On Mon, Feb 7, 2011 at 10:25 AM, Noon Silk <noonsli...@gmail.com> wrote:
>>> On Mon, Feb 7, 2011 at 10:21 AM, Bec Carter <bec.usern...@gmail.com> wrote:
>>>> Good mornin' all!
>>>>
>>>> I've a requirement to put certain values (after computing them) in
>>>> various spots in a very large text file. So basically the starting
>>>> text file can have placeholders where these computed values will end
>>>> up- like a template. Then my code will compute some values based on
>>>> user input and i need to fill in the placeholders.
>>>>
>>>> Is there a better way to do this besides a simple string replace?
>>>
>>> Well, no. You'll need to read the file in and find your tokens and
>>> replace them. Depending on how large the file it, you might need to do
>>> this line by line, or chunk by chunk, writing out as you read in, but
>>> inevitably it comes down to looking for a sequence and replacing it
>>> with another.
>>>
>>> How large is "very large"? Megs? Gigs?
>>>
>>
>> Yup reading all into a string right now and replacing. File is around 750 
>> megs
>
> Mm, in that case I would definitely think reading in chunk by chunk
> would be better.
>
> So, you read in chunks of chars in a char[], and then you must look
> for the start of your token. Taking care to note that you could end up
> in the middle of your token, something like:
>
> // Pseudocode
> char[] data = { "$te" }
> char[] nextData = { "st$" }
>
> Where the token is "$test$".
>
> Depending on your data, it might be that reading lines is enough, and
> do the replace on that basis. Hopefully this is somewhat clear. I had
> a quick search and couldn't find a nice example on doing this, but it
> should be easy enough using StreamReader or friends. If it's not clear
> I can show an example later on.
>

That's fine thanks. Line by line would be ok as the data will never be
broken up and flow onto the next line.

I was kinda hoping there'd be something specifically built for this-
seems like I'm creating mail merge all over again :-)

> --
> Noon Silk
>
> http://dnoondt.wordpress.com/  (Noon Silk) | http://www.mirios.com.au:8081 >
>
> Fancy a quantum lunch?
> http://www.mirios.com.au:8081/index.php?title=Quantum_Lunch
>
> "Every morning when I wake up, I experience an exquisite joy — the joy
> of being this signature."
>

Reply via email to