Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Changing file & directory names





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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden


This email sent to email@hidden
References: 
 >Changing file & directory names (From: Dean Snyder <email@hidden>)
 >Re: Changing file & directory names (From: Greg Titus <email@hidden>)
 >Re: Changing file & directory names (From: Dean Snyder <email@hidden>)
 >Re: Changing file & directory names (From: Sherm Pendley <email@hidden>)
 >Re: Changing file & directory names (From: Dean Snyder <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.