分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
前一篇文章中我们讲到了OC中的归档和解档操作:http://blog.csdn.net/jiangwei0910410003/article/details/41872551,今天我们来介绍OC中文件操作,在之前的文章中,已经接触到了文件的创建了,但是那不是很具体和详细,这篇文章我们就来仔细看一下OC中是如何操作文件的:
第一、首先来看一下本身NSString类给我们提供了哪些可以操作文件路径名的方法
//// main.m// 37_FilePathHandle//// Created by jiangwei on 14-10-13.// Copyright (c) 2014年 jiangwei. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) { @autoreleasepool { //演示路径 NSString *path = @"/Users/jiangwei/file.text"; //1.返回路径的组成部分 NSArray *array = [path pathComponents]; NSLog(@"%@",array); //2.返回路径最后组成部分 NSString *str = [path lastPathComponent]; NSLog(@"%@",str); //3.在原有的路径后面追加子目录 //这种方式有一点不好,就是需要添加/ [path stringByAppendingString:@"/appFile.text"]; //不需要添加/ [path stringByAppendingPathComponent:@"appFile.text"]; //4.删除最后的组成部分 str = [path stringByDeletingLastPathComponent]; //删除扩展名(.text被删除了) str = [path stringByDeletingPathExtension]; //5.获取扩展名 str = [path pathExtension]; //6.添加扩展名 [path stringByAppendingPathExtension:@".jpg"]; } return 0;}
在Java中,我们知道,当我们去操作一个文件的时候,最开始的时候肯定要去构建一个路径,这个路径一般都是String类型的,我们需要定义不同的路径和文件名,OC中也不例外,不过OC中的NSString类在这方面做的可能会更好,下面依次来看一下他的方法:
1、将路径进行分割
//演示路径NSString *path = @"/Users/jiangwei/file.text";//1.返回路径的组成部分NSArray *array = [path pathComponents];NSLog(@"%@",array);
运行结果:
返回的一个数组,将路径分割了,但是需要注意的是,第一个是"/",这个也算是路径的一部分。
2、返回路径的最后组成部分
//2.返回路径最后组成部分NSString *str = [path lastPathComponent];NSLog(@"%@",str);
运行结果:
这个直接返回路径的最后一部分,这个如果放在Java中,我们可能需要用到String类的字符串分割技术了,没有这里的方便
3、添加子目录/子文件
//3.在原有的路径后面追加子目录//这种方式有一点不好,就是需要添加///演示路径str = [path stringByAppendingString:@"/appFile.text"];NSLog(@"%@",str);//不需要添加/str = [path stringByAppendingPathComponent:@"appFile.text"];NSLog(@"%@",str);
这里其实有两种方式可以添加,第一种是直接使用拼接字符串的方式,但是需要手动的添加"/",第二种方式是NSString提供的,不需要手动的添加"/"
运行结果:
4、删除最后面的部分和后缀名
//4.删除最后的组成部分str = [path stringByDeletingLastPathComponent];NSLog(@"%@",str);//删除扩展名(.text被删除了)str = [path stringByDeletingPathExtension];NSLog(@"%@",str);
运行结果: