码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发之oc(十七)--Foundation(2)NSString及简单的字符串读取和写入

时间:2015-02-26 18:17:58      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

NSString : 不可变字符串

NSMutableString : 可变字符串

 

// 重点注意:URL不能读取文件名为中文的文件,否则为null,读不出来,要换为英文

 // URL读取文件才是万能

 

下面是一些功能的代码

1.创建和读取

void stringCreate()
{
    /*
     1.字符串的创建的方法
     */
    NSString *s1 = @"jack";
    
  //NSString *s2 = [[NSString alloc] initWithString:@"jack"];
    
    NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d", 10];
    
    // C字符串 --> OC字符串
    NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"];
    // OC字符串 --> C字符串
    const char *cs = [s4 UTF8String];
    
    // 读取文件
    // NSUTF8StringEncoding 用到中文就可以用这种编码
    NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt" encoding:NSUTF8StringEncoding error:nil];
    
    
    // URL : 资源路径
    // 协议头://路径
    // file://
    // ftp://
    // http://weibo.com/a.png
    // http://www.baidu.com
    
    // 这是读取本地文件
    // NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"];
    
    NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/1.txt"];
    
    NSString *s6 = [[NSString alloc] initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
   
 NSLog(@"s6=\n%@", s6);
    
    /*
     提供类方法可以快速返回一个对象给别人 ,就不需要alloc 。。。initwith。。。。很慢
     一般都会有一个类方法跟对象方法配对(类方法一般一类名开头----URLWithString..)
    
     [NSURL URLWithString:<#(NSString *)#>];
     [NSString stringWithFormat:@""];
     [NSString stringWithContentsOfFile:<#(NSString *)#> encoding:<#(NSStringEncoding)#> error:<#(NSError *__autoreleasing *)#>];
     
     */

}    

2.写入

void stringExport()
{
    // 写入字符串(尽量不要创建.rtf,会打不开)
    [@"Jack\nJack" writeToFile:@"/Users/apple/Desktop/my.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
    
    
    NSString *str = @"4234234";
    NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/my2.txt"];
    [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
// atomically  原子性
    // 文件里面每一个换行都是 \n
}

3.简单运用

int main()
{
    
    NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"];
    // 拼接内容到s1的后面
    [s1 appendString:@" 11 12"];
    
    // 获取is的范围
    NSRange range = [s1 rangeOfString:@"is"];
    [s1 deleteCharactersInRange:range];
    
    NSString *s2 = [NSString stringWithFormat:@"age is 10"];
    
    NSString *s3 = [s2 stringByAppendingString:@" 11 12"];
    
    
    NSLog(@"s1=%@, s2=%@", s1, s2);
    
    return 0;
}

还有很多的运用,请参照官方文档,那才是真正的iOS之路,本源所在。

 

iOS开发之oc(十七)--Foundation(2)NSString及简单的字符串读取和写入

标签:

原文地址:http://www.cnblogs.com/iOSteemo/p/4301740.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!