IO文件中,一些对目录进行操作的函数:获取、切分、组合

一些对目录进行操作的函数:
获取用户的姓名:(NSString*)NSUserName() ;    ———>NSString *Str = NSUserName()
获取home目录路径:(NSString*)NSHomeDirectory()
获取临时文件夹路径:(NSString*)NSTemporaryDirectory()
 
一些对目录进行操作的方法:
将路径切成部分:- (NSArray *)pathComponents  ———>NSArray *paths = [path pathComponents]
将部分组合成路径:+ (NSString *)pathWithComponents:(NSArray *)components
判断是不是绝对路径:- (BOOL)isAbsolutePath
获取路径最后一部分:- (NSString *)lastPathComponent
删除最后一部分:- (NSString *)stringByDeletingLastPathComponent
获取扩展名:- (NSString *)pathExtension
删除扩展名:- (NSString *)stringByDeletingPathExtension
添加路径:- (NSString *)stringByAppendingPathComponent:(NSString *)str
添加扩展名:- (NSString *)stringByAppendingPathExtension:(NSString *)str

//1、获取home目录的路径

         NSString *homeDir = NSHomeDirectory();
NSLog(@"home:%@",homeDir);
-- ::28.727 -path[:] home:/Users/mac

//2、获取临时文件夹的路径

         NSString *tempDir = NSTemporaryDirectory();
NSLog(@"home:%@",tempDir);
-- ::28.728 -path[:] home:/var/folders/dx/481d4y4j4430hfty5zr_1gfh0000gn/T/

//3、将路径分成部分

         NSArray *paths = [tempDir pathComponents];
NSLog(@"%@",paths);
-- ::28.728 -path[:] (
"/",
var,
folders,
dx,
"481d4y4j4430hfty5zr_1gfh0000gn",
T,
"/"
)

//4、将部分再拼成路径

         NSString *path = [NSString pathWithComponents:paths];
NSLog(@"%@",path);
-- ::28.729 -path[:] /var/folders/dx/481d4y4j4430hfty5zr_1gfh0000gn/T

//5、在路径上添加文件

         NSString *fileNamePath = [path stringByAppendingPathComponent:@"1.txt"];
NSLog(@"fileName:%@",fileNamePath);
-- ::28.729 -path[:] fileName:/var/folders/dx/481d4y4j4430hfty5zr_1gfh0000gn/T/.txt

//6、获取路径的最后一部分

         NSString *fileName = [fileNamePath lastPathComponent];
NSLog(@"fileName:%@",fileName);
-- ::28.729 -path[:] fileName:.txt

//7、获取文件的扩展名

         NSString *extension = [fileNamePath pathExtension];
NSLog(@"extension:%@",extension);
-- ::28.729 -path[:] extension:txt
Program ended with exit code:

Objective-C:Objective-C:文件中一些对目录进行操作的函数的更多相关文章

  1. MATLAB 在同一个m文件中写多个独立的功能函数

    MATLAB 在同一个m文件中写多个独立的功能函数,从而实现在外部可以直接调用这个文件中的某一个函数. 鉴于MATLAB的函数文件的函数名与文件名要一样,就需要有一个统一的接口来涵盖这些功能函数. 例 ...

  2. C语言中关于对目录的操作

    原文地址:C语言中关于对目录的操作 目录的操作不论是在嵌入式产品还是应用软件编程都是必不可少的,不同的开发语言可能略有不同,笔者主要是讨论在Linux平台下对目录的一系列操作: 1.获取当前目录操作: ...

  3. [Java] 在 jar 文件中读取 resources 目录下的文件

    注意两点: 1. 将资源目录添加到 build path,确保该目录下的文件被拷贝到 jar 文件中. 2. jar 内部的东西,可以当作 stream 来读取,但不应该当作 file 来读取. 例子 ...

  4. path类和directory类对文件的路径或目录进行操作

    Path: 对文件或目录的路径进行操作(很方便)[只是对字符串的操作] 1.目录和文件操作的命名控件System.IO    2.string Path.ChangeExtension(string ...

  5. FindResource函数错误代码:1813-找不到映像文件中指定的资源类型 与LoadResource函数错误代码:1812-指定的映像文件不包含资源区域

    HRSRC WINAPI FindResource( _In_opt_  HMODULE hModule, _In_      LPCTSTR lpName, _In_      LPCTSTR lp ...

  6. js中三个对数组操作的函数 indexOf()方法 filter筛选 forEach遍历 map遍历

     indexOf()方法  indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pea ...

  7. Python中OS对目录的操作以及引用

    路径的获取 对当前目录的获取 1 path = os.getcwd() 2 print("获取到的当前目录是:({})".format(path)) 获取当前文件所在的绝对路径 i ...

  8. Objective-C声明在头文件和实现文件中的区别

    Objective-C声明在头文件和实现文件中的区别 转自codecloud(有整理) 调试程序的时候,突然想到这个问题,百度一下发现有不少这方面的问答,粗略总结一下: 属性写在.h文件中和在.m文件 ...

  9. 为什么模板函数的声明和实现都放在.h文件中

    当你不使用这个模板函数或模板类,编译器并不实例化它,当你使用时,编译器需要实例化它,因为编译器是一次只能处理一个编译单元,也就是一次处理一个cpp文件,所以实例化时需要看到该模板的完整定义.所以都放在 ...

随机推荐

  1. WordCount_命令行运行时指定参数

    WordCountApp命令行运行时指定参数 1.修改之前的WordCountApp.java的代码 package cmd; import java.net.URI; import org.apac ...

  2. 【Java】 foreach对数组赋值问题

    今天写代码时发现了如下问题: public class Test { public static void main(String[] args) { int[] arr= new int[5]; f ...

  3. 004 关于Java如何扫描指定package下所有的类

    q前言: 在工作中看到这个知识点,就顺便参考了百度的一些资料,整理一下,希望以后用的到. 一:理论部分 1.使用场景 写一个MVC框架,需要从包中扫描出组件并注册到容器中,而JDK没有提供现成的从方法 ...

  4. 洛谷P4645 [COCI2006-2007 Contest#7] BICIKLI [Tarjan,拓扑排序]

    题目传送门 BICIKLI 题意翻译 给定一个有向图,n个点,m条边.请问,1号点到2号点有多少条路径?如果有无限多条,输出inf,如果有限,输出答案模10^9的余数. 两点之间可能有重边,需要看成是 ...

  5. iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图

    iOS 9应用开发教程之使用开关滑块控件以及滚动部署视图 使用ios9中的开关.滑块控件 开关和滑块也是用于和用户进行交互的控件.本节将主要讲解这两种控件. ios9开关 开关控件常用来控制某个功能的 ...

  6. C# 非模式窗体show()和模式窗体showdialog()的区别

    对话框不是模式就是无模式的.模式对话框,在可以继续操作应用程序的其他部分之前,必须被关闭(隐藏或卸载).例如,如果一个对话框,在可以切换到其它窗 体或对话框之前要求先单击"确定"或 ...

  7. Kolla O版本部署

    Kolla O版部署和之前的版本还是有些区别的,环境还是all-in-one 基本准备: 关闭Selina和firewalld [root@kolla ~]# cat /etc/redhat-rele ...

  8. JavaScript基础 :学习javascript的原因

    JavaScript是世界上最流行的脚本语言,因为你在电脑.手机.平板上浏览的所有的网页,以及无数基于HTML5的手机App,交互逻辑都是由JavaScript驱动的. 简单地说,JavaScript ...

  9. Redis在Window服务下的安装

    Redis 安装 1.首先在Windows下下载安装Redis 下载地址:https://github.com/MicrosoftArchive/redis/releases 根据你电脑系统的实际情况 ...

  10. QT学习笔记3:QT中语法说明

    一.Qt 类中Q_OBJECT的作用 QObject 是所有Qt对象的基类. QObject 是Qt模块的核心.它的最主要特征是关于对象间无缝通信的机制:信号与槽.使用connect()建立信号到槽的 ...