PC Review Forums Newsgroups Microsoft DotNet Microsoft Dot NET Compact Framework Delete from file

Reply

Delete from file

 
Thread Tools Rate Thread
Old 09-11-2007, 08:41 AM   #1
Ole
Guest
 
Posts: n/a
Default Delete from file


I know that it generally isn't possible to delete a part of a file, but I'll
pop this question anyway in case there is a good idea out there:

I have a program that runs on a PDA with e.g. 32MB storage. The program
generate a file and if the file exceed 16MB I do not have the possibility to
delete a single character from the file, because I normally will have to
create a new file without the character and after that delete the original
file ---- or what????

Thanks
Ole


  Reply With Quote
Old 09-11-2007, 12:15 PM   #2
=?Utf-8?B?U2ltb24gSGFydCBbTVZQXQ==?=
Guest
 
Posts: n/a
Default RE: Delete from file

I don't understand what you are trying to achieve. Are you saying, when the
file equals a certain size, you want to delete it?
--
Simon Hart
Visual Developer - Device Application Development MVP
http://simonrhart.blogspot.com


"Ole" wrote:

> I know that it generally isn't possible to delete a part of a file, but I'll
> pop this question anyway in case there is a good idea out there:
>
> I have a program that runs on a PDA with e.g. 32MB storage. The program
> generate a file and if the file exceed 16MB I do not have the possibility to
> delete a single character from the file, because I normally will have to
> create a new file without the character and after that delete the original
> file ---- or what????
>
> Thanks
> Ole
>
>
>

  Reply With Quote
Old 09-11-2007, 03:15 PM   #3
Paul G. Tobey [eMVP]
Guest
 
Posts: n/a
Default Re: Delete from file

Sounds like he wants to remove a section of a file that is half the size of
the available storage. Since you can't just cut out some bytes from the
middle, the only practical way to do it is to create a new file and copy
just the parts of the old file that you want into the new file. However, if
the old file is half the size of the storage, that's a problem. There's no
fix that I can think of other than to stop growing the other file sooner...

Paul T.

"Simon Hart [MVP]" <srhartone@yahoo.com> wrote in message
news:65CF40AF-3995-4E8A-AFB9-C74CC3DB7C0B@microsoft.com...
>I don't understand what you are trying to achieve. Are you saying, when the
> file equals a certain size, you want to delete it?
> --
> Simon Hart
> Visual Developer - Device Application Development MVP
> http://simonrhart.blogspot.com
>
>
> "Ole" wrote:
>
>> I know that it generally isn't possible to delete a part of a file, but
>> I'll
>> pop this question anyway in case there is a good idea out there:
>>
>> I have a program that runs on a PDA with e.g. 32MB storage. The program
>> generate a file and if the file exceed 16MB I do not have the possibility
>> to
>> delete a single character from the file, because I normally will have to
>> create a new file without the character and after that delete the
>> original
>> file ---- or what????
>>
>> Thanks
>> Ole
>>
>>
>>



  Reply With Quote
Old 09-11-2007, 03:57 PM   #4
Guest
 
Posts: n/a
Default Re: Delete from file

The only thing I could think of is opening the file multiple times with
share access and doing some form of data "shift" using two file pointers -
essentially copying file data within the target file itself. It could be
slow and terribly thrashy if, for example, you deleted a single byte at the
start of a 16MB file. You'd end up copying the entire 16MB one byte at a
time to shift it.

On the plus side, at least it would work.


--

Chris Tacke, eMVP
Join the Embedded Developer Community
http://community.opennetcf.com



"Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
com> wrote in message news:e4r%23bMuIIHA.4808@TK2MSFTNGP05.phx.gbl...
> Sounds like he wants to remove a section of a file that is half the size
> of the available storage. Since you can't just cut out some bytes from
> the middle, the only practical way to do it is to create a new file and
> copy just the parts of the old file that you want into the new file.
> However, if the old file is half the size of the storage, that's a
> problem. There's no fix that I can think of other than to stop growing
> the other file sooner...
>
> Paul T.
>
> "Simon Hart [MVP]" <srhartone@yahoo.com> wrote in message
> news:65CF40AF-3995-4E8A-AFB9-C74CC3DB7C0B@microsoft.com...
>>I don't understand what you are trying to achieve. Are you saying, when
>>the
>> file equals a certain size, you want to delete it?
>> --
>> Simon Hart
>> Visual Developer - Device Application Development MVP
>> http://simonrhart.blogspot.com
>>
>>
>> "Ole" wrote:
>>
>>> I know that it generally isn't possible to delete a part of a file, but
>>> I'll
>>> pop this question anyway in case there is a good idea out there:
>>>
>>> I have a program that runs on a PDA with e.g. 32MB storage. The program
>>> generate a file and if the file exceed 16MB I do not have the
>>> possibility to
>>> delete a single character from the file, because I normally will have to
>>> create a new file without the character and after that delete the
>>> original
>>> file ---- or what????
>>>
>>> Thanks
>>> Ole
>>>
>>>
>>>

>
>



  Reply With Quote
Old 09-11-2007, 05:42 PM   #5
Ole
Guest
 
Posts: n/a
Default Re: Delete from file

Sounds like a very useful idea and exactly what I was looking for - will try
it out.

Thanks
Ole


"<ctacke/>" <ctacke[at]opennetcf[dot]com> wrote in message
news:u6LKDluIIHA.1212@TK2MSFTNGP05.phx.gbl...
> The only thing I could think of is opening the file multiple times with
> share access and doing some form of data "shift" using two file pointers -
> essentially copying file data within the target file itself. It could be
> slow and terribly thrashy if, for example, you deleted a single byte at
> the start of a 16MB file. You'd end up copying the entire 16MB one byte
> at a time to shift it.
>
> On the plus side, at least it would work.
>
>
> --
>
> Chris Tacke, eMVP
> Join the Embedded Developer Community
> http://community.opennetcf.com
>
>
>
> "Paul G. Tobey [eMVP]" <p space tobey no spam AT no instrument no spam DOT
> com> wrote in message news:e4r%23bMuIIHA.4808@TK2MSFTNGP05.phx.gbl...
>> Sounds like he wants to remove a section of a file that is half the size
>> of the available storage. Since you can't just cut out some bytes from
>> the middle, the only practical way to do it is to create a new file and
>> copy just the parts of the old file that you want into the new file.
>> However, if the old file is half the size of the storage, that's a
>> problem. There's no fix that I can think of other than to stop growing
>> the other file sooner...
>>
>> Paul T.
>>
>> "Simon Hart [MVP]" <srhartone@yahoo.com> wrote in message
>> news:65CF40AF-3995-4E8A-AFB9-C74CC3DB7C0B@microsoft.com...
>>>I don't understand what you are trying to achieve. Are you saying, when
>>>the
>>> file equals a certain size, you want to delete it?
>>> --
>>> Simon Hart
>>> Visual Developer - Device Application Development MVP
>>> http://simonrhart.blogspot.com
>>>
>>>
>>> "Ole" wrote:
>>>
>>>> I know that it generally isn't possible to delete a part of a file, but
>>>> I'll
>>>> pop this question anyway in case there is a good idea out there:
>>>>
>>>> I have a program that runs on a PDA with e.g. 32MB storage. The program
>>>> generate a file and if the file exceed 16MB I do not have the
>>>> possibility to
>>>> delete a single character from the file, because I normally will have
>>>> to
>>>> create a new file without the character and after that delete the
>>>> original
>>>> file ---- or what????
>>>>
>>>> Thanks
>>>> Ole
>>>>
>>>>
>>>>

>>
>>

>
>



  Reply With Quote
Old 10-11-2007, 10:03 AM   #6
Ole
Guest
 
Posts: n/a
Default Re: Delete from file

I wonder what happens to the "Tale" of the file and how to tell the OS that
the file has decreased in size.? If I have a file of e.g. 10 KB in size and
I want to delete 1 KB from the middle of it, then I according to the below,
should "shift" the upper part of the file downwards until the the last byte
which is the EOF, but what happens to the last 10KB? Are there any code
snippets available?

Thanks,
Ole

"<ctacke/>" <ctacke[at]opennetcf[dot]com> wrote in message
news:u6LKDluIIHA.1212@TK2MSFTNGP05.phx.gbl...
> The only thing I could think of is opening the file multiple times with
> share access and doing some form of data "shift" using two file pointers -
> essentially copying file data within the target file itself. It could be
> slow and terribly thrashy if, for example, you deleted a single byte at
> the start of a 16MB file. You'd end up copying the entire 16MB one byte
> at a time to shift it.
>
> On the plus side, at least it would work.
>
> Chris Tacke, eMVP
> Join the Embedded Developer Community
> http://community.opennetcf.com



  Reply With Quote
Old 10-11-2007, 02:51 PM   #7
Guest
 
Posts: n/a
Default Re: Delete from file

Simply call SetLength on the FileStream to the new length, Flush and Close.


--

Chris Tacke, eMVP
Join the Embedded Developer Community
http://community.opennetcf.com



"Ole" <ole@blabla.com> wrote in message
news:%23Y5pxD4IIHA.3848@TK2MSFTNGP05.phx.gbl...
>I wonder what happens to the "Tale" of the file and how to tell the OS that
>the file has decreased in size.? If I have a file of e.g. 10 KB in size and
>I want to delete 1 KB from the middle of it, then I according to the below,
>should "shift" the upper part of the file downwards until the the last byte
>which is the EOF, but what happens to the last 10KB? Are there any code
>snippets available?
>
> Thanks,
> Ole
>
> "<ctacke/>" <ctacke[at]opennetcf[dot]com> wrote in message
> news:u6LKDluIIHA.1212@TK2MSFTNGP05.phx.gbl...
>> The only thing I could think of is opening the file multiple times with
>> share access and doing some form of data "shift" using two file
>> pointers - essentially copying file data within the target file itself.
>> It could be slow and terribly thrashy if, for example, you deleted a
>> single byte at the start of a 16MB file. You'd end up copying the entire
>> 16MB one byte at a time to shift it.
>>
>> On the plus side, at least it would work.
>>
>> Chris Tacke, eMVP
>> Join the Embedded Developer Community
>> http://community.opennetcf.com

>
>



  Reply With Quote
Reply



Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off