zoukankan      html  css  js  c++  java
  • Objective-C NSFileManager 文件管理总结

    createFileAtPath //创建文件

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath = [NSString stringWithFormat:@"%@/file1.txt",NSHomeDirectory()];
            NSString *strdata = @"test";
            
            bool bRet = [fm createFileAtPath:strpath contents:strdata attributes:nil];
            if(!bRet)
            {
                NSLog(@"create file error");
            }


    copyItemAtPath  //拷贝文件

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath1 = [NSString stringWithFormat:@"%@/file1.txt",NSHomeDirectory()];
            NSString *strpath2 = [NSString stringWithFormat:@"%@/file2.txt",NSHomeDirectory()];
            
            bool bRet = [fm copyItemAtPath:strpath1 toPath:strpath2 error:nil];
            if(!bRet)
            {
                NSLog(@"copy file error");
            }
    

    moveItemAtPath  //移动文件

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath1 = [NSString stringWithFormat:@"%@/file1.txt",NSHomeDirectory()];
            NSString *strpath2 = [NSString stringWithFormat:@"%@/file2.txt",NSHomeDirectory()];
            
            bool bRet = [fm moveItemAtPath:strpath1 toPath:strpath2 error:nil];
            if(!bRet)
            {
                NSLog(@"move file error");
            }

    removeItemAtPath   //删除文件

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath1 = [NSString stringWithFormat:@"%@/file1.txt",NSHomeDirectory()];
            
            bool bRet = [fm removeItemAtPath:strpath1 error:nil];
            if(!bRet)
            {
                NSLog(@"delete file error");
            }


    attributesOfItemAtPath   //获取文件属性, 文件大字。返回NSDictionary

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath1 = [NSString stringWithFormat:@"%@/log.txt",NSHomeDirectory()];
            
            NSDictionary *dic = [fm attributesOfItemAtPath:strpath1 error:nil];
            NSLog(@"%@",dic);

    currentDirectoryPath   //获取当前文件夹

           NSFileManager *fm = [NSFileManager defaultManager];
           NSString *strpath = [fm currentDirectoryPath];
           NSLog(@"%@",strpath);

    createDirectoryAtPath   //创建文件夹

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath1 = [NSString stringWithFormat:@"%@/testdir",NSHomeDirectory()];
            bool bRet = [fm createDirectoryAtPath:strpath1 withIntermediateDirectories:NO attributes:nil error:nil];
            if(!bRet)
            {
                NSLog(@"create dir error");
            }

    fileExistsAtPath    //推断文件或文件夹是否存在

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath1 = [NSString stringWithFormat:@"%@/testdir",NSHomeDirectory()];
            bool bRet = [fm fileExistsAtPath:strpath1];
            if(!bRet)
            {
                NSLog(@"no file exist");
            }
            else
            {
                NSLog(@"file exist");
            }


    enumeratorAtPath   //枚举文件夹,将子文件夹所有枚举

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath1 = [NSString stringWithFormat:@"%@/Desktop",NSHomeDirectory()];
            NSDirectoryEnumerator *dirs = [fm enumeratorAtPath:strpath1];
            
            NSString *dir;
            while (dir=[dirs nextObject]) {
                NSLog(@"%@",dir);
            }

    contentsOfDirectoryAtPath   //枚举文件夹,不枚举子文件夹

            NSFileManager *fm = [NSFileManager defaultManager];
            NSString *strpath1 = [NSString stringWithFormat:@"%@/Desktop",NSHomeDirectory()];
            NSArray *dirs = [fm contentsOfDirectoryAtPath:strpath1 error:nil];
            
            NSString *dir;
            for (dir in dirs)
            {
                NSLog(@"%@",dir);
            }


  • 相关阅读:
    Sonar系列:IDEA集成SonarLint(二)
    Jenkins 安装部署全过程
    使用Docker搭建Sonarqube
    Sonar系列:SonarQube+SonarScanner 最全安装步骤(一)
    微信小程序反编译解包教程
    一张图告诉你,如何攻击Java Web应用
    windows server2019共享文件配额报错The quota limit is 10240.00 MB and the current usage is 10213.39 MB (99% of limit)的处理
    jenkins使用ssh remote插件执行shell后无法退出的问题处理
    基于docker镜像centos:7 镜像制作自定义的centos及tomcat/php/nginx镜像
    centos7.9环境基于docker和pipeline构建jenkins的ci平台
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7112591.html
Copyright © 2011-2022 走看看