zoukankan      html  css  js  c++  java
  • 文件及目录操作

     

    #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;

    }

     

    让明天,不后悔今天的所作所为
  • 相关阅读:
    实现基于C++的动态事件机制(转)
    D3D HLSL 一段代码注释
    directx加载ms3d动画模型
    几种空间分割算法研究之bsp
    IxEngine开发笔记
    使用UVAtlas技术管理贴图
    八叉树
    c#调用C++写的dll导出类,包含继承,重载等详细介绍(转载)
    给自己毕业前的一点任务
    大小端问题
  • 原文地址:https://www.cnblogs.com/-yun/p/4320480.html
Copyright © 2011-2022 走看看