`

NSData NSString 读写文件

    博客分类:
  • ios
F# 
阅读更多

遍历字典

    for (id key in paramValues_){
        NSLog(@"key: %@ ,value: %@",key,[paramValues_ objectForKey:key]);
    }
 


读写文件

NSString *path = @"/Users/Allen/Desktop/test.dat";
 
NSString *temp = @"Allen Dang";
int i = 100;
float f = 98.3333f;

NSMutableData *writer = [[NSMutableData alloc] init];
 
[writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
[writer appendBytes:&i length:sizeof(i)];
[writer appendBytes:&f length:sizeof(f)];
 
[writer writeToFile:path atomically:YES];
[writer release];

 

读文件

NSString *contentPath = [[NSBundle mainBundle] pathForResource:@"Content" ofType:@"txt"];

    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

NSString *txtContent = [NSString stringWithContentsOfFile:contentPath encoding:NSUTF8StringEncoding error:nil];

 

 

写文件

NSString *str = @"asdasdads";

        NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);

        NSData *data = [str dataUsingEncoding:enc];

        NSString *filename = @"/Users/xxx/files.txt"];

        [data writeToFile: filename atomically: NO];






int ii;
float ff;
NSString *ttemp;
 
NSData *reader = [NSData dataWithContentsOfFile:path];
ttemp = [[NSString alloc] initWithData:[reader subdataWithRange:NSMakeRange(0, [temp length])]
                                  encoding:NSUTF8StringEncoding];
[reader getBytes:&ii range:NSMakeRange([temp length], sizeof(ii))];
[reader getBytes:&ff range:NSMakeRange([temp length] + sizeof(ii), sizeof(ff))];
 
NSLog(@"string:%@  int:%i float:%f", ttemp, ii, ff);
 
[temp release];
[ttemp release];
[path release];

NSString为UTF8编码的函数

@interface NSString (OAURLEncodingAdditions)

- (NSString *)URLEncodedString;

- (NSString *)URLDecodedString;

@end


@implementation NSString (OAURLEncodingAdditions)
- (NSString *)URLEncodedString{   
    NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, NULL, CFSTR("!*'();:@&=+$,/?%#[]"), kCFStringEncodingUTF8);
   [result autorelease];
   return result;
}
- (NSString*)URLDecodedString{
   NSString *result = (NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)self, CFSTR(""), kCFStringEncodingUTF8);
   [result autorelease];
   return result;
}
@end

 

 

 

 

 

NSString NSData 转换与常见的 NSString 和 NSMutableString 方法


NSString* aStr = [[NSString alloc] initWithData:aData encoding:NSASCIIStringEncoding];







NSData* aData = [aStr dataUsingEncoding: NSASCIIStringEncoding];




NSString方法
+(id) stringWithContentsOfFile:path encoding:enc error:err
创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误

+(id) stringWithContentsOfURL:url encoding:enc error:err
创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误

+(id) string
创建一个新的空字符串

+(id) stringWithString:nsstring
创建一个新的字符串,并将其设置为nsstring

-(id)initWithString:nsstring
将分配的字符串设置为nsstring

-(id) initWithContentsOfFile:path encoding:enc error:err
将字符串设置为path制定的文件的内容

-(id) initWithContentsOfURL:url encoding:enc error:err
将字符串设置为url(NSURL *)url的内容,使用字符编码enc,如果非零,则返回err中的错误

-(id) (UNSIgned int)length
返回字符串中的字符数目

-(unichar)characterAtIndex:i
返回索引i的Unicode字符

-(NSString *)substringFromIndex:i
返回从i开始知道结尾的子字符串

-(NSString *)substringWithRange:range
根据指定范围返回子字符串

-(NSString *)substringToIndex:i
返回从该字符串开始到索i的子字符串

-(NSComparator *)caseInsensitiveCompare:nsstring
比较两个字符串,忽略大小写

-(NSComparator *)compare:nsstring
比较两个字符串

-(BOOL)hasPrefix:nsstring
测试字符串是否以nsstring开始

-(BOOL)hasSuffix:nsstring
测试字符串是否以nsstrng结尾

-(BOOL)isEqualToString:nsstring
测试两个字符串是否相等

-(NSString *) capitalizedString
返回每个单词首字母大写的字符串(每个单词的其余字母转换为小写)

-(NSString *)lowercaseString
返回转换为小写的字符串

-(NSString *)uppercaseString
返回转换为大写的字符串

-(const char*)UTF8String
返回转换为UIF-8字符串的字符串

-(double)doubleValue
返回转换为double的字符串

-(float)floatValue
返回转换为浮点值的字符串

-(NSInteger)integerValue
返回转换为NSInteger整数的字符串

-(int)intValue
返回转换为整数的字符串

NSMutableString方法
+(id) stringWithCapacity:size
创建一个字符串,初始包含size的字符

-(id) initWithCapacity:size
使用初始容量为size的字符串来初始化字符串

-(void) setString:nsstring
将字符串设置为nsstring

-(void) appendString:nsstring
在接收者的末尾附加nsstring

-(void) deleteCharactersInRange:range
删除指定range中的字符

-(void) insertString:nsstring atIndex:i
以索引i为起始位置插入nsstring

-(void) replaceCharactersInRange:range withString:nsstring
使用nsstring替换range指定的字符

-(void) replaceOccurrencesOf
String:nsstring withString:nsstring2 options:opts range:range
根 据选项opts。使用指定range中的nsstring2替换所有的nsstring。选项可以包括NSBackwardsSearch(从范围的结尾 开始搜索)NSAnchoredSearch(nsstring必须匹配范围的开始),NSLiteralSearch(执行逐字节比较以及 NSCaceInsensitiveSearch的按位或组合)


*----------------在串中搜索子串----------------*/        

    NSString *string1 = @"This is a string";
    NSString *string2 = @"string";
    NSRange range = [string1 rangeOfString:string2];
    int location = range.location;
    int leight = range.length;
    NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];
    NSLog(@"astring:%@",astring);
    [astring release];


    /*----------------抽取子串 ----------------*/        

    //-substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringToIndex:3];
    NSLog(@"string2:%@",string2);




    //-substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringFromIndex:3];
    NSLog(@"string2:%@",string2);




    //-substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)];
    NSLog(@"string2:%@",string2);







分享到:
评论

相关推荐

    ios demo,NSData和NSString之间的相互转换的源代码

    - 通过实际的文件读写操作来演示转换过程,如从文件加载NSData,转换为NSString后显示,然后再将字符串转换回NSData保存回文件。 - 可能还包含了异常处理和性能优化的相关代码。 这个demo对初学者理解这两种类型...

    iso文件读写函数.docx

    在iOS中,我们通常不直接处理ISO格式的文件,但这个标题可能是关于读写文件的一般概念,因为ISO通常指的是光盘映像文件。描述中提到的"创建文件fileName,contents文件的内容,如果开始没有内容可以设置为nil,...

    iOS NSData 详细使用说明

    - 使用`NSData`处理文件时,应正确处理可能的错误,如文件不存在、权限不足等问题。 - 对于网络请求返回的`NSData`,应在适当的线程上进行处理,避免阻塞主线程。 总之,`NSData`作为iOS开发中的基础组件,其功能...

    iphone实现文件的读写操作

    ### iPhone实现文件的读写操作 #### 知识点概览 本文将详细介绍如何在iPhone应用开发中实现文件的读写操作。通过Xcode环境下的Objective-C编程语言,我们将了解如何利用`NSFileManager`类来处理文件系统中的读取与...

    iOS读写json文件的方法示例

    iOS读写json文件的方法示例 在iOS开发中,读写json文件是非常常见的操作。下面将详细介绍iOS读写json文件的相关知识点。 获取沙盒路径 在iOS系统中,每个应用程序都有自己的沙盒目录,该目录是文件系统中的一个...

    plist文件读写.zip

    总之,Objective-C提供了方便的API来处理`plist`文件的读写操作,使得存储和检索结构化数据变得简单。熟练掌握这些操作对于iOS和macOS开发者来说至关重要,因为`plist`文件在很多场景下都是首选的数据存储方式。通过...

    Iphone有关文件编程资料合辑

    3. 使用NSData进行二进制文件的读写,例如图片、音频文件等。 4. NSString和NSDictionary的read/writeToFile方法,用于XML、JSON等文本文件的读写。 5. SQLite数据库的集成和使用,用于结构化数据的存储。 6. ...

    IOS应用源码——TempFileReadWrite.rar

    在iOS中,读写文件主要通过Foundation框架中的`NSFileManager`、`NSString`和`NSData`类进行。例如,`NSFileManager`用于文件的创建、删除和移动;`NSString`处理文件路径;`NSData`则用于读取和写入二进制数据。 ...

    ios应用源码之一些iphone开源项目代码tempfilereadwrite 2018127

    2. 在读写文件前,应先检查沙盒权限,确保应用有足够的权限进行操作。 3. 使用`FileManager`的`createFileAtPath:contents:attributes:`方法创建文件,以设置正确的文件属性。 4. 为了防止数据丢失,写入临时文件后...

    文件的操作

    5. **读写文件**:对于简单的文本文件,可以使用`NSString`的`writeToFile:atomically:encoding:error:`方法写入,`stringWithContentsOfFile:encoding:error:`方法读取。对于二进制数据,可以使用`NSData`的相应...

    IOS文件的简单读写实例详解

    数组(可变与不可变)和字典(可变与不可变)中元素对象的类型,必须是NSString,NSArray,NSDictionary,NSData,否则不能直接写入文件 #pragma mark---NSString的写入与读取--- //1:获取路径 NSString *docunments = ...

    ios 文件管理与归档

    在iOS中,`FileManager`类是苹果提供的核心文件管理工具,它提供了丰富的接口用于读写文件、检查文件是否存在、创建和删除目录等操作。例如,你可以使用`createFileAtPath:contents:attributes:`方法来创建一个新的...

    iOS本地文件操作

    本篇文章将深入探讨如何在iOS中进行文件的读写、删除以及搜索,特别是针对.plist文件的操作。 首先,我们需要了解iOS中的文件系统。每个iOS应用都有自己的沙盒环境,其中包含Documents、Library、tmp和Cache四个...

    自己写的一个存取.plist文件Demo

    要保存数据到.plist文件,我们需要先将数据结构转化为`NSData`对象,然后使用`writeToFile:atomically:`方法写入文件。 ```objc NSMutableDictionary *mutableDict = [NSMutableDictionary ...

    IOS应用源码——一些iPhone开源项目代码TempFileReadWrite.rar

    对于读写操作,开发者通常会用到`NSData`、`NSString`或`NSArray`的`writeToFile:atomically:`方法,将对象内容写入文件;而`contentsOfFile:`方法则用于读取文件内容。 2. **临时文件管理**:`...

    IOS应用源码——一些iPhone开源项目代码TempFileReadWrite.zip

    4. **NSInputStream** 和 **NSOutputStream**: 用于流式读写文件,适合处理大文件或持续的数据流。 在实际的项目中,开发者需要考虑以下几点: - 文件操作应尽可能在后台线程进行,避免阻塞主线程导致UI卡顿。 - ...

    iphone开发之NSFileManager_Class[定义].pdf

    3. 创建、删除文件和目录:`- (BOOL)createFileAtPath:(NSString *)path contents:(NSData *)data attributes:(nullable NSDictionary,id> *)attributes` 用于创建文件,`- (BOOL)removeItemAtPath:(NSString *)path...

    iOS归档与解归档,持久化存储

    例如,`NSFileManager`用于文件的创建、删除、复制等操作,`NSData`可以读取文件内容并转化为字节数组,`NSString`则可以处理文本文件的读写。在实际使用时,还需要注意文件权限、沙盒限制以及错误处理等问题。 在...

    OC学生管理系统

    在OC中,我们可以使用Foundation框架来处理文件操作,这个框架提供了诸如NSFileManager、NSData、NSString等类,用于文件的读写、数据的序列化与反序列化。 1. 文件读取:在OC中,通常使用`NSData`类配合`...

    file-read-write-http.zip_IOS HTTP_file read_urlreadwrite

    综上所述,iOS应用程序中的文件读写涉及`NSFileManager`、`NSData`和`NSString`的使用,而HTTP请求则依赖于`NSURLSession`或`URLSession`。这些基本操作是任何iOS应用开发中的基石,无论是在本地存储用户数据还是与...

Global site tag (gtag.js) - Google Analytics