iPhone开发-创建、读取、写入文件
想来相去应该做一个备忘录,开始想用文档,但是最近系统更换频繁macos-windows文件格式不好定义,携带还不方便,于是想起了这个东东,真是人类的服气啊...
今天的东西是如何在iPhone OS下创建、删除、读取、写入文件
创建与删除:
//创建文件管理器
NSFileManager *fileManager = [NSFileManager defaultManager];
//获取路径
//参数NSDocumentDirectory要获取那种路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];//去处需要的路径
//更改到待操作的目录下
[fileManager changeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];
//创建文件fileName文件名称,contents文件的内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil
[fileManager createFileAtPath:@"fileName" contents:nil attributes:nil];
//删除待删除的文件
[fileManager removeItemAtPath:@"createdNewFile" error:nil];
写入数据:
//获取文件路径
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"fileName"];
//待写入的数据
NSString *temp = @"Hello friend";
int data0 = 100000;
float data1 = 23.45f;
//创建数据缓冲
NSMutableData *writer = [[NSMutableData alloc] init];
//将字符串添加到缓冲中
[writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
//将其他数据添加到缓冲中
[writer appendBytes:&data0 length:sizeof(data0)];
[writer appendBytes:&data1 length:sizeof(data1)];
//将缓冲的数据写入到文件中
[writer writeToFile:path atomically:YES];
[writer release];
读取数据:
int gData0;
float gData1;
NSString *gData2;
NSData *reader = [NSData dataWithContentsOfFile:path];
gData2 = [[NSString alloc] initWithData:[reader subdataWithRange:NSMakeRange(0, [temp length])]
encoding:NSUTF8StringEncoding];
[reader getBytes:&gData0 range:NSMakeRange([temp length], sizeof(gData0))];
[reader getBytes:&gData2 range:NSMakeRange([temp length] + sizeof(gData0), sizeof(gData1))];
NSLog(@"gData0:%@ gData1:%i gData2:%f", gData0, gData1, gData2);
读取工程中的文件:
读取数据时,要看待读取的文件原有的文件格式,是字节码还是文本,我经常需要重文件中读取字节码,所以我写的是读取字节文件的方式。
//用于存放数据的变量,因为是字节,所以是UInt8
UInt8 b = 0;
//获取文件路径
NSString *path = [[NSBundle mainBundle] pathForResource:@"fileName" ofType:@""];
//获取数据
NSData *reader = [NSData dataWithContentsOfFile:path];
//获取字节的个数
int length = [reader length];
NSLog(@"------->bytesLength:%d", length);
for(int i = 0; i < length; i++)
{
//读取数据
[reader getBytes:&b range:NSMakeRange(i, sizeof(b))];
NSLog(@"-------->data%d:%d", i, b);
}
iphone实现文件的读写操作
iphone可以很容易的实现文件的读写,但是如果你没有使用苹果公司99美元开发者sdk的话,你利用破解打出来的api包,安装到手机上不能把文件写入手机.下面是我实现读写的代码:
#import "ManagerFile.h"
@implementation ManagerFile
-(void)writeFile:(NSString *)file
{
//创建文件管理器
NSFileManager *fileManager = [NSFileManager defaultManager];
//获取路径
//参数NSDocumentDirectory要获取那种路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];//去处需要的路径
//更改到待操作的目录下
[fileManager changeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];
//创建文件fileName文件名称,contents文件的内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil
//获取文件路径
[fileManager removeItemAtPath:@"username" error:nil];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"username"];
//创建数据缓冲
NSMutableData *writer = [[NSMutableData alloc] init];
//将字符串添加到缓冲中
[writer appendData:[file dataUsingEncoding:NSUTF8StringEncoding]];
//将其他数据添加到缓冲中
//将缓冲的数据写入到文件中
[writer writeToFile:path atomically:YES];
[writer release];
}
-(NSString *)readFile
{
//创建文件管理器
NSFileManager *fileManager = [NSFileManager defaultManager];
//获取路径
//参数NSDocumentDirectory要获取那种路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];//去处需要的路径
//更改到待操作的目录下
[fileManager changeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];
//获取文件路径
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"username"];
NSData *reader = [NSData dataWithContentsOfFile:path];
return [[NSString alloc] initWithData:reader
encoding:NSUTF8StringEncoding];
}
@end
本文转至:http://blog.sina.com.cn/s/blog_7e6e60490100vg4f.html
分享到:
相关推荐
### iPhone实现文件的读写操作 #### 知识点概览 本文将详细介绍如何在iPhone应用开发中实现文件的读写操作。通过Xcode环境下的Objective-C编程语言,我们将了解如何利用`NSFileManager`类来处理文件系统中的读取与...
在iOS开发中,文件读写操作是至关重要的,它允许应用程序保存用户数据、配置信息或者进行数据交换。本文将详细讲解iOS中的文件读写操作,并提供一个简单的实例来帮助理解。 1. **写文件操作** 在iOS中,我们通常...
本DEMO旨在教授如何在iPhone和iPad上读取、写入和保存plist文件。下面我们将详细探讨这些操作。 1. **读取plist文件** 要读取plist文件,首先需要获取文件路径。在iOS中,文件通常存储在沙盒的不同目录下,如...
`NSString`和`NSDictionary`支持文本和JSON格式的文件读写。 其次,iOS应用中文件的读写策略也很关键。为了优化性能和用户体验,应该避免在主线程中执行耗时的文件操作,可以使用GCD(Grand Central Dispatch)或...
这个压缩包"iPhone Browser-1.zip"包含了实现这一功能的源代码,专为Mac和Windows用户设计,使得电脑可以方便地与iPhone进行文件的交换。以下是这个项目中可能涉及的一些关键知识点,以及它们在实际开发中的应用和...
"IOS应用源码——一些iPhone开源项目代码TempFileReadWrite.rar" 提供了一个关于TempFileReadWrite的开源项目,这显然涉及到iOS应用中文件读写操作。下面将详细讨论iOS应用中的文件系统、临时文件的使用以及如何进行...
本篇文章将深入探讨如何利用Swift来创建一个名为“InventoryTracker”的应用程序,它能实现在iPhone上进行文件的读写操作。这个项目不仅是一个基础的示例,更是学习Swift文件I/O(输入/输出)功能的理想起点。 首先...
用户可以通过PC上的IE浏览器输入iPhone的IP地址,访问iPhone上的文件,并进行上传和下载操作。 VSFTPD的安装和使用 要安装VSFTPD,用户需要先安装Cydia,然后从Cydia中下载和安装VSFTPD.deb文件。安装完成后,用户...
标题提到的"ios应用源码之一些iphone开源项目代码tempfilereadwrite 2018127"显然是一个专注于临时文件读写操作的开源项目。在这个项目中,开发者可能会探讨如何在iOS平台上有效地处理临时文件,这对于任何需要在...
- **文件系统访问**:了解如何读写文件以及管理应用的数据存储。 - **Core Data使用**:深入探讨如何利用Core Data管理复杂的数据模型。 - **网络编程**:教授如何通过网络请求获取远程数据,并展示常见的网络编程...
通过研究“iphone-plist-net”库,开发者不仅可以掌握Plist文件的读写,还能进一步提升在.NET环境中处理XML和文件操作的能力。对于跨平台开发,特别是与iOS设备交互的场景,这是一个实用的工具。同时,阅读源码也能...
"TempFileReadWrite.zip"这个压缩包包含了一些iPhone开源项目的源码,主要涉及文件的临时读写操作。在iOS应用中,正确处理文件读写是至关重要的,因为它涉及到数据持久化、用户交互和应用程序性能。 首先,我们要...
- 消息队列:有序的消息传递,支持读写操作。 - 套接字(Socket):跨网络的进程间通信方式,也可以用于同一主机内。 - 文件映射:通过共享文件实现进程间数据交换。 了解这些基础知识对于iPhone应用开发面试至...
- 文件读写操作的最佳实践 - 数据备份与恢复方案 ##### 第四部分:高级iPhone编程技术 - **第14章**:多触控应用编程 - 触摸事件的处理 - 多点触控手势识别 - 滑动、缩放等效果的实现 - **第15章**:简单动画...
5. **项目结构**:“Persistence”这个文件很可能包含了项目的主要代码,可能包括一个或多个类,用于处理属性列表的读写操作。通常会有个主类负责处理数据的序列化和反序列化,以及文件I/O操作。 6. **实际应用**:...
- `NSFileManager` 允许开发者检查文件的读写权限,这对于确保安全的文件操作至关重要。 5. **归档与解档**: - 虽然这不是 `NSFileManager` 的直接功能,但通常结合 `NSKeyedArchiver` 和 `NSKeyedUnarchiver` ...
- 随着iPhone等智能手机的流行,Android系统成为主流操作系统之一。然而,早期的Android系统不支持大容量的USIM卡读写,这促使手机厂商和方案公司需要自行研发解决方案。 4. **解决方案**: - 对于SIM卡的联系人...
综上所述,iPhone数据持久化的方法包括文件系统操作、使用Core Data、SQLite数据库、iCloud同步、Keychain服务以及对象的归档和序列化。每种方法都有其适用场景,开发者应根据应用的需求选择合适的技术。例如,对于...
iPhone开发入门经典》基于Apple最新发布的iPhoneOS3.0编写,循序渐进地介绍了从事iPhoneF发所需的基本知识,包括使用Xcode、Interface Builder、objective-C和(Cocoa Touch等开发工具,设计及美化用户界面,读写和...