Re: Changing file & directory names
Re: Changing file & directory names
- Subject: Re: Changing file & directory names
- From: John Stiles <email@hidden>
- Date: Sat, 01 Jul 2006 12:40:42 -0700
Dean Snyder wrote:
Sherm Pendley wrote at 2:15 PM on Saturday, July 1, 2006:
"If source is a file, the method creates a file at destination that
holds the exact contents of the original file and then deletes the
original file. If source is a directory, movePath:toPath:handler:
creates a new directory at destination and recursively populates it
with
duplicates of the files and directories contained in source."
This is really heavyweight
No, it's not heavy at all - you've just misunderstood what it does.
When the above says "creates a file at destination", it's talking
about creating a new directory entry that points to the same data,
not about copying the data.
Again, with emphasis added, the documentation says, "creates a file at
destination that holds the exact contents of the original file and THEN
deletes the original file". That can only mean that at some point there
are 2 copies of the file. (Notice there is no talk of just manipulating
file references within the file manager's data structures.) That may
not, in fact, be what it does, but that IS what the documentation says
it does. And, of course, the issue is compounded when dealing with
directories (where the documentation actually talks about "duplicates of
the files and directories").
Even if it really does just make hard links, even that has undesirable
consequences. For example, if a file has /ever/ been hard-linked, it can
no longer be used with FSExchangeObjects. The API returns an error instead.
http://developer.apple.com/documentation/Carbon/Reference/File_Manager/Reference/reference.html#//apple_ref/c/func/FSExchangeObjects
The OP may want to look at using the Carbon File Manager, or BSD APIs,
to do the rename. It's a bit more typing than Cocoa, but the APIs in
this case offer more options.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden