#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//文件管理器
// NSFileManager *fm1 = [NSFileManager defaultManager];
// NSFileManager *fm2 = [NSFileManager defaultManager];
// NSLog(@"fm1 = %p fm2 = %p", fm1, fm2);
NSFileManager *fm = [NSFileManager defaultManager];
//遍历目录(浅遍历)
NSError *error = nil;
NSArray *dicContent = [fm contentsOfDirectoryAtPath:@"/Users/zhixiang/Desktop/类与对象练习题.rtf" error:&error];
if (dicContent) {
NSLog(@"dicContent = %@", dicContent);
}
else
{
NSLog(@"error = %@",error);
}
//身遍历目录
// dicContent = [fm subpathsAtPath:@"/Users/zhangxueming/Desktop/Test"];
// if (dicContent) {
// NSLog(@"dicContent = %@", dicContent);
// }
dicContent = [fm subpathsOfDirectoryAtPath:@"/Users/zhixiang/Desktop/类与对象练习题.rtf" error:&error];
if (dicContent) {
NSLog(@"dicContent = %@", dicContent);
}
else
{
NSLog(@"error = %@", error);
}
for (id name in dicContent) {
NSLog(@"name = %@", [name pathExtension]);//获取文件扩展名
}
//获取目录属性
NSDictionary *dicAttri = [fm attributesOfItemAtPath:@"/Users/zhixiang/Desktop/类与对象练习题.rtf" error:&error];
if (dicAttri) {
NSLog(@"dicAttri = %@", dicAttri);
}
else
{
NSLog(@"error = %@", error);
}
NSLog(@"fileSize = %llu", [dicAttri fileSize]);
NSLog(@"fileDate = %@",[dicAttri objectForKey:@"NSFileCreationDate"]);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSFileManager *fm = [NSFileManager defaultManager];
#if 0
//创建目录
BOOL ret = [fm createDirectoryAtPath:@"/Users/zhangxueming/Desktop/Test/dic2/qianfeng" withIntermediateDirectories:NO attributes:nil error:nil];
NSLog(@"ret = %d", ret);
BOOL ret1 = [fm createDirectoryAtPath:@"/Users/zhangxueming/Desktop/Test/dic2/helloworld/dic/print" withIntermediateDirectories:YES attributes:nil error:nil];
NSLog(@"ret1 = %d", ret1);
BOOL isExist = [fm fileExistsAtPath:@"/Users/zhangxueming/Desktop/Test/dic2/daLian"];//判断指定路径下的文件或者目录是否存在
if (!isExist) {
NSLog(@"value = %d", [fm createDirectoryAtPath:@"/Users/zhangxueming/Desktop/Test/dic2/daLian" withIntermediateDirectories:NO attributes:nil error:nil]);
}
#endif
//文件的创建
// BOOL isExist = [fm fileExistsAtPath:@"/Users/zhangxueming/Desktop/Test/dic1/world/data.txt"];
// if (!isExist) {
// //二进制缓冲对象
// NSData *data = [@"I love ios" dataUsingEncoding:NSUTF8StringEncoding];//把字符串转换成data类的对象
// //NSLog(@"data = %@", data);
// BOOL ret = [fm createFileAtPath:@"/Users/zhangxueming/Desktop/Test/dic1/world/data.txt" contents:data attributes:nil];
// NSLog(@"ret = %d", ret);
//
// }
//文件及目录拷贝
//srcPath要包含需要拷贝的目录或者文件名
//dstPath也要包含要拷贝的目录或者文件名
//如果dstPath中已经有对应的目录或者文件, 拷贝动作不执行
BOOL ret2 = [fm copyItemAtPath:@"/Users/zhangxueming/Desktop/Test/dic1/world" toPath:@"/Users/zhangxueming/Desktop/Test/dic2/qianfeng/world" error:nil];
NSLog(@"ret2 = %d", ret2);
//文件后者目录移动(重命名)
//路径不同实现剪切功能
BOOL ret3 = [fm moveItemAtPath:@"/Users/zhangxueming/Desktop/Test/dic1/file.c" toPath:@"/Users/zhangxueming/Desktop/Test/dic2/daLian/file.c" error:nil];
NSLog(@"ret3 = %d", ret3);
//路径相同实现重命名功能
BOOL ret4 = [fm moveItemAtPath:@"/Users/zhangxueming/Desktop/Test/dic2/daLian/file.c" toPath:@"/Users/zhangxueming/Desktop/Test/dic2/daLian/file2.c" error:nil];
NSLog(@"ret4 = %d", ret4);
//文件或者目录删除
//直接从系统中删除, 不会放到废纸篓中,慎用
BOOL ret5 = [fm removeItemAtPath:@"/Users/zhangxueming/Desktop/Test/file2.doc" error:nil];
if (ret5) {
NSLog(@"删除成功");
}
else
{
NSLog(@"删除失败");
}
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//以只读的方式创建文件句柄
NSFileHandle *fileHander = [NSFileHandle fileHandleForReadingAtPath:@"/Users/zhangxueming/Desktop/Test/file.txt"];
if (!fileHander) {
return -1;
}
NSData *fileData = [fileHander readDataToEndOfFile];
//NSLog(@"data = %@", fileData);
NSString *fileStr = [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding];//把NSData类对象转换中字符串对象
NSLog(@"fileStr = %@", fileStr);
[fileHander seekToFileOffset:0];//移动文件指针到文件开头
NSData *fileData1 = [fileHander readDataOfLength:20];
NSString *fileStr1 = [[NSString alloc] initWithData:fileData1 encoding:NSUTF8StringEncoding];
NSLog(@"fileStr1 = %@", fileStr1);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSFileHandle *fileHander = [NSFileHandle fileHandleForUpdatingAtPath:@"/Users/zhangxueming/Desktop/Test/file1.txt"];//以可读可写的方式创建文件句柄
// NSData *fileData = [fileHander readDataToEndOfFile];
// NSLog(@"fileStr = %@", [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding]);
NSData *data = [@"千" dataUsingEncoding:NSUTF8StringEncoding];
[fileHander writeData:data];
[fileHander seekToFileOffset:0];
NSData *fileData = [fileHander readDataToEndOfFile];
NSLog(@"fileStr = %@", [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding]);
//截断文件
[fileHander truncateFileAtOffset:21];
[fileHander seekToFileOffset:0];
fileData = [fileHander readDataToEndOfFile];
NSLog(@"fileStr = %@", [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding]);
[fileHander synchronizeFile];//把文件内容同步到磁盘
[fileHander closeFile];//关闭文件,文件句柄消失的时候, 文件自动关闭
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSData *data = [NSData dataWithContentsOfFile:@"/Users/zhangxueming/Desktop/Test/file1.txt"];
NSLog(@"data = %@", data);
NSString *dataStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"dataStr = %@", dataStr);
data = [@"教育" dataUsingEncoding:NSUTF8StringEncoding];
NSData *data1= [NSData dataWithContentsOfFile:@"/Users/zhangxueming/Desktop/Test/file1.txt"];
NSMutableData *mulData = [NSMutableData dataWithData:data1];
[mulData appendData:data];
[mulData writeToFile:@"/Users/zhangxueming/Desktop/Test/file1.txt" atomically:YES];
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//格林威志时间 1970年
NSDate *date = [[NSDate alloc] init];
//NSLog(@"date = %.2f", date.timeIntervalSinceReferenceDate);
NSLog(@"data =%@", date);
// NSLog(@"interval = %f", [[NSDate date] timeIntervalSinceDate:date]);
//
// NSLog(@"interval = %f", -[date timeIntervalSinceNow]);
date = [date dateByAddingTimeInterval:120.00];
NSLog(@"date = %@", date);
NSLog(@"date = %@", [NSDate distantFuture]);
NSLog(@"date = %@", [NSDate distantPast]);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSDateFormatter * datefm =[[NSDateFormatter alloc] init];
datefm.dateFormat = @"YYYY/MM/dd HH:mm:ss/SS";
//yyyy: 表示年份
//MM: 表示月份
//dd: 表示天数
//HH: 表示小时(24进制) hh:12进制时间
//mm: 表示分钟
//ss: 表示秒
//SS: 表示毫秒
NSDate *date = [NSDate date];
NSString *dateStr = [datefm stringFromDate:date];//把格林威志时间按照时间戳格式显示为当地时间
NSLog(@"date = %@", dateStr);
//- (NSDate *)dateFromString:(NSString *)string;
NSDate *date1 = [datefm dateFromString:dateStr];
NSLog(@"date1 = %@", date1);
}
return 0;
}