1. //
  2. // main.m
  3. // NSString
  4. //
  5. // Created by WildCat on 13-7-25.
  6. // Copyright (c) 2013年 wildcat. All rights reserved.
  7. //
  8.  
  9. #import <Foundation/Foundation.h>
  10.  
  11. void testCreat(){
  12. NSString *str=@"你好。";
  13. NSLog(@"str :%@",str);
  14.  
  15. NSString *str2=[NSString stringWithUTF8String:"哈哈哈"];
  16. NSLog(@"str2 :%@",str2);
  17. NSString *str3=[[NSString alloc] initWithString:@"测试3"] ;
  18. NSLog(@"str3 :%@",str3);
  19.  
  20. }
  21. #pragma mark 从文件中获取
  22. void creatWithContent(){
  23.  
  24. //设置gb2312编码格式: CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
  25.  
  26. NSError *error;
  27.  
  28. NSString *str=[NSString stringWithContentsOfFile:@"/Users/bird/Desktop/资料/qqq.txt" encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000) error:&error];
  29. if (error==nil){//如果不为空,说明读去正常
  30. NSLog(@"文档中获取:%@",str);
  31. }else{
  32. NSLog(@"出现错误:%@",error);
  33. }
  34.  
  35. //用url读取文件内容:
  36. NSError *error2;
  37. NSURL *url=[NSURL URLWithString:@"file:///Users/bird/Downloads/qqq.txt"];
  38. NSString *str2=[NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error2];
  39.  
  40. NSLog(@"文档中获取2:%@",str2);
  41. //获得远程的文件
  42. NSURL *url3=[NSURL URLWithString:@"http://www.baidu.com"];
  43. NSString *str3=[NSString stringWithContentsOfURL:url3 encoding:NSUTF8StringEncoding error:nil];
  44.  
  45. NSLog(@"文档中获取3:%@",str3);
  46.  
  47. }
  48.  
  49. #pragma mark 写入文件
  50. void writeToFile(){
  51. //要写入的字符串
  52. NSString *str3=@"你好吗?";
  53.  
  54. NSError *error;
  55. //写入文件 YES 代表原子性操作 ,也就是会创建一个中间的临时文件
  56. [str3 writeToFile:@"/Users/bird/Downloads/qqq.txt" atomically:YES encoding:NSUTF8StringEncoding error:&error];
  57.  
  58. if (error){
  59. //[error localizedDescription] 会打印出主要的错误信息
  60. NSLog(@"写入失败:%@",[error localizedDescription]);
  61.  
  62. }else{
  63. NSLog(@"写入成功");
  64. }
  65.  
  66. }
  67.  
  68. #pragma mark 主函数
  69. int main(int argc, const char * argv[])
  70. {
  71.  
  72. @autoreleasepool {
  73.  
  74. // testCreat();
  75. // creatWithContent();
  76. writeToFile();
  77. }
  78. return 0;
  79. }

Object-c学习之路六(oc字符串文件读写)的更多相关文章

  1. Java NIO 学习笔记(六)----异步文件通道 AsynchronousFileChannel

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  2. Python学习(九)IO 编程 —— 文件读写

    Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...

  3. 【python系统学习17】python中的文件读写

    python中的文件读写 文件读写,是Python代码调用电脑文件的主要功能,能被用于读取和写入文本.音频片段.Excel文档.邮件以及任何保存在电脑上的东西. 可使用python批量的操作本地文件, ...

  4. Object-c学习之路(oc点语法)

    最近想学习object-c了自己上网找了一些资料自学了一下:oc中的点语法是为了java.c等的程序员更好的上手而添加的功能. 主函数 // // main.m // OcTest1 // // Cr ...

  5. zigbee学习之路(六):Time3(查询方式)

    一.前言 通过上次的学习,相信大家对cc2530单片机的定时器的使用有了一定的了解,今天我们来介绍定时器3的使用,为什么介绍定时器3呢,因为它和定时器4功能是差不多的,所以学会定时器3,就基本掌握了c ...

  6. python学习之路二(字符串,字典,序列和元组)

    # -*- coding: utf-8 -* ''' Created on 2013-7-26 @author: lixingle ''' #!/usr/bin/python import math# ...

  7. Python3学习之路~2.3 字符串操作

    字符串操作 特性:不可修改 name="my \tname is alex" print(name.capitalize()) #首字母变大写 print('Alex LI'.ca ...

  8. Java学习之路(六):集合

    集合的由来 数组的长度是固定的,当添加的元素超过了数组的长度,就需要对数组重新定义 java内部给我们提供的集合类,能存储任意对象,长度是可以改变的.随着元素的增加而增加,随着元素的减少而减少 数组和 ...

  9. react.js学习之路六

    学习react中,我一直认为,总组件里面才有构造函数,但是我才发现我的观点是错误的,构造函数是可以出现在子组件里面的. 今天有一个错误是点击增加/减少input框里面 的数值 我一直在寻找input框 ...

随机推荐

  1. HDU 2612 -Find a way (注重细节BFS)

    主题链接:Find a Way 题目不难,前几天做,当时准备写双向BFS的,后来处理细节上出了点问题,赶上点事搁置了.今天晚上重写的,没用双向,用了两次BFS搜索,和双向BFS 道理差点儿相同.仅仅是 ...

  2. SOA、REST 和六边形架构

    SOA.REST 和六边形架构 上一篇:<IDDD 实现领域驱动设计-架构之经典分层> 阅读目录: SOA-面向服务架构 REST 与 RESTful 资源(Resources) 状态(S ...

  3. 在打包程序中自动安装SQL Server数据库 .

    原文:在打包程序中自动安装SQL Server数据库 . 1.创建安装项目“Setup1”安装项目 在“文件”菜单上指向“添加项目”,然后选择“新建项目”. 在“添加新项目”对话框中,选择“项目类型” ...

  4. Ubuntu自己主动搭建VPN Server - PPTP的Shell脚本

    #!/bin/bash if [ "$UID" != "0" ]; then echo "please use sudo to run $0" ...

  5. 解决方案命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)

    首先对System.Web.Mvc这个dll文件重新引用本地的,添加引用,搜索mvc就可以出来,选择相应的版本.如果还不能正常运行, 然后右键打开这个项目引用System.Web.Mvc, 将复制本地 ...

  6. php soap调用asp.net webservice

    原文:php soap调用asp.net webservice 首先做一下准备工作,找到安装环境里的php.ini把;extension=php_soap.dll去掉前面的;.我这里使用的是wamp, ...

  7. SQLServer 分组查询相邻两条记录的时间差

    原文:SQLServer 分组查询相邻两条记录的时间差 首先,我们通过数据库中表的两条记录来引出问题,如下图 以上为一个记录操作记录的表数据.OrderID为自增长列,后面依次为操作类型,操作时间,操 ...

  8. quartz_spring 定时器配置

    quartz:石英,表达精确准时的意思. quartz-all-1.6.1.jar 主要用于定时任务管理. <?xml version="1.0" encoding=&quo ...

  9. 关于ListView中convertView的缓存个数的探究

    在面试的时候经常会被问到一个有关ListView的问题:一个ListView的高度最多可以显示5个item,但是却有20条数据要显示,问最多会有多少个convertView会被复用?或者如在ListV ...

  10. 【转】GIT和SVN之间的五个基本区别

    如果你在读这篇文章,说明你跟大多数开发者一样对GIT感兴趣,如果你还没有机会来试一试GIT,我想现在你就要了解它了. GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等.如果 ...