PC Review
Forums
Newsgroups
Microsoft DotNet
Microsoft Dot NET Compact Framework
Delete from file
Forums
Newsgroups
Microsoft DotNet
Microsoft Dot NET Compact Framework
Delete from file
![]() |
Delete from file |
|
|
Thread Tools | Rate Thread |
|
|
#1 |
|
Guest
Posts: n/a
|
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 |
|
|
|
#2 |
|
Guest
Posts: n/a
|
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 > > > |
|
|
|
#3 |
|
Guest
Posts: n/a
|
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 >> >> >> |
|
|
|
#4 |
|
Guest
Posts: n/a
|
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 >>> >>> >>> > > |
|
|
|
#5 |
|
Guest
Posts: n/a
|
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 >>>> >>>> >>>> >> >> > > |
|
|
|
#6 |
|
Guest
Posts: n/a
|
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 |
|
|
|
#7 |
|
Guest
Posts: n/a
|
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 > > |
|
![]() |
|
| Thread Tools | |
| Rate This Thread | |
|
|

Main Page 

