cocoa 文件操作

cocoa 文件操作

打开查看文件
NSOpenPanel *openPanel=[NSOpenPanel openPanel];
[openPanel setTitle:@"Choose a File or Folder"];//setTitle为NSWindow的方法,它是openPanel 的父类
[openPanel setCanChooseDirectories:YES];//默认不可以选文件夹,可选任何格式文件
NSInteger i=[openPanel runModal];//显示openPanel
if(i==NSOKButton){
NSString *theFilePath=[openPanel fileName];
//给outlets(filePathDisplay)赋值:[filePathDisplay setStringValue:theFilePath]
NSFileManager *theManager=[NSFileManage defaultManager];
NSString *theFileName=[theManage displayNameAtPath:theFilePath];
if([theManager fileExistsAtPath:theFilePath]){
//文件存在
}
if( [theManager fileExistsAtPath:theFilePath isDirectory:&isFolder] ){
//表示选中的是一个目录(文件夹)
}
NSDictionary *theFileAttributes=[theManager fileAttributesAtPath:theFilePath traverseLink:YES];
//NSDictionary是一个数据结构,其中包括:文件大小,创建日期,修改日期
//由于只是读数据,则不用可变的NSMutableDictionary
NSNumber *theFileSize=[theFileAttributes objectForKey:NSFileSize];
NSDate *theModificationDate=[theFileAttributes objectForKey:NSFileModificationDate];
NSDate *theCreationDate=[theFileAttributes objectForKey:NSFileCreationDate];


//查看文件图标(要先用NSFileWrapper把文件数据放入内存)
NSFileWrapper *theFileWrapper=[[NSFileWrapper alloc] initWithPath:theFilePath] autorelease];
NSImage *theIcon=[theFileWrapper icon];
//fileIconDisplay为Interface上的NSImageView对象(Library中的Image well)
[fileIconDisplay setImageScaling:NSScaleToFit];
[fileIconDisplay setImage:theIcon];
}
可以实现对对文档(Text),图片,以及多媒体文件的操作
复制文件
NSString *theDestination=[[NSHomeDirectory() //NSHomeDirectory是Foundation的方法
stringByAppendingPathComponent:@"Desktop"] //文件保存的目录
stringByAppendingPathComponent:theFileName];
[theManager copyPath:theFilePath toPath:theDestination handler:nil];
移动(剪切)文件
[theManager movePath:theFilePath toPath:theDestination handler:nil];
删除文件
NSInteger n=NSRunAlertPanel(
[NSLocalizedString(@"Are you sure you want to delete the file?",nil),
[NSLocalizedString(@"You cannot undo this deletion.",nil),
[NSLocalizedString(@"Yes",nil),
[NSLocalizedString(@"No",nil),
nil);
if(n==NSAlertDefaultReturn){
[theManager removeFileAtPath:theFilePath handler:nil];
}
创建文件夹
NSString *theDestination=[[NSHomeDirectory()
stringByAppendingPathComponent:@"Desktop"]
stringByAppendingPathComponent:@"MyNewFolder"];
[theManager createDirectoryAtpath:theDestination
attributes:nil]; //第二个参数设置文件夹的属性

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值