iOS 文件软链接和硬链接

iOS 中使用NSFileManager来链接文件,链接又可分为软/硬链接

软链接 使用 createSymbolicLinkAtURL

[[NSFileManager defaultManager] createSymbolicLinkAtURL:[NSURL fileURLWithPath:@"链接地址"] withDestinationURL:[NSURL fileURLWithPath:@"源文件地址"] error:&error];

//用attributesOfItemAtPath来查看文件属性
 [[NSFileManager defaultManager] attributesOfItemAtPath:@"文件地址" error:&error]; 

image.png

查看链接文件和源文件的对比,链接文件NSFileType为NSFileTypeSymbolicLink 而源文件为NSFileTypeRegular。
并且查看链接文件的文件夹下的文件大小,链接文件只有几KB的大小。

硬链接 使用 linkItemAtURL

[[NSFileManager defaultManager] linkItemAtURL:[NSURL fileURLWithPath:@"源文件地址"] toURL:[NSURL fileURLWithPath:@"链接地址"] error:&error];

//用attributesOfItemAtPath来查看文件属性
 [[NSFileManager defaultManager] attributesOfItemAtPath:@"文件地址" error:&error]; 

image.png

硬链接的NSFileType均为NSFileTypeRegular,并无变化,但是NSFileReferenceCount 变为2,未硬链接的源文件则为1。并且链接文件夹文件大小与源文件一致。

你可能感兴趣的:(iOS 文件软链接和硬链接)