`
浮生长恨
  • 浏览: 212835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Iphone文件读写操作(转)

阅读更多

iPhone开发-创建、读取、写入文件

想来相去应该做一个备忘录,开始想用文档,但是最近系统更换频繁macoswindows文件格式不好定义,携带还不方便,于是想起了这个东东,真是人类的服气啊...


今天的东西是如何在iPhone OS下创建、删除、读取、写入文件 


创建与删除:

//创建文件管理器

NSFileManager *fileManager = [NSFileManager defaultManager];

//获取路径

//参数NSDocumentDirectory要获取那种路径

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];//去处需要的路径


//更改到待操作的目录下

[fileManager changeCurrentDirectoryPath:[documentsDirectory stringByExpandingTildeInPath]];


//创建文件fileName文件名称,contents文件的内容,如果开始没有内容可以设置为nilattributes文件的属性,初始为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 allocinit];


//将字符串添加到缓冲中

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

    IOS 文件读写操作详解及简单实例

    在iOS开发中,文件读写操作是至关重要的,它允许应用程序保存用户数据、配置信息或者进行数据交换。本文将详细讲解iOS中的文件读写操作,并提供一个简单的实例来帮助理解。 1. **写文件操作** 在iOS中,我们通常...

    iOS开发读取plist文件、iphone中plist文件的读写存 DEMO

    本DEMO旨在教授如何在iPhone和iPad上读取、写入和保存plist文件。下面我们将详细探讨这些操作。 1. **读取plist文件** 要读取plist文件,首先需要获取文件路径。在iOS中,文件通常存储在沙盒的不同目录下,如...

    Iphone有关文件编程资料合辑

    `NSString`和`NSDictionary`支持文本和JSON格式的文件读写。 其次,iOS应用中文件的读写策略也很关键。为了优化性能和用户体验,应该避免在主线程中执行耗时的文件操作,可以使用GCD(Grand Central Dispatch)或...

    IOS应用源码——分享,顺道保存:电脑连接至iPhone文件互传代码(Mac_Win) iPhone Browser-1.zip

    这个压缩包"iPhone Browser-1.zip"包含了实现这一功能的源代码,专为Mac和Windows用户设计,使得电脑可以方便地与iPhone进行文件的交换。以下是这个项目中可能涉及的一些关键知识点,以及它们在实际开发中的应用和...

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

    "IOS应用源码——一些iPhone开源项目代码TempFileReadWrite.rar" 提供了一个关于TempFileReadWrite的开源项目,这显然涉及到iOS应用中文件读写操作。下面将详细讨论iOS应用中的文件系统、临时文件的使用以及如何进行...

    InventoryTracker:用于演示在 iPhone 上读写文件的 iOS Swift 应用程序

    本篇文章将深入探讨如何利用Swift来创建一个名为“InventoryTracker”的应用程序,它能实现在iPhone上进行文件的读写操作。这个项目不仅是一个基础的示例,更是学习Swift文件I/O(输入/输出)功能的理想起点。 首先...

    全世界最强的软件——VSFTPD(把IPHONE变成FTP服务器和U盘)归纳.pdf

    用户可以通过PC上的IE浏览器输入iPhone的IP地址,访问iPhone上的文件,并进行上传和下载操作。 VSFTPD的安装和使用 要安装VSFTPD,用户需要先安装Cydia,然后从Cydia中下载和安装VSFTPD.deb文件。安装完成后,用户...

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

    标题提到的"ios应用源码之一些iphone开源项目代码tempfilereadwrite 2018127"显然是一个专注于临时文件读写操作的开源项目。在这个项目中,开发者可能会探讨如何在iOS平台上有效地处理临时文件,这对于任何需要在...

    Beginning iPhone Development:Exploring the iPhone SDK

    - **文件系统访问**:了解如何读写文件以及管理应用的数据存储。 - **Core Data使用**:深入探讨如何利用Core Data管理复杂的数据模型。 - **网络编程**:教授如何通过网络请求获取远程数据,并展示常见的网络编程...

    iphone-plist-net source and Demo

    通过研究“iphone-plist-net”库,开发者不仅可以掌握Plist文件的读写,还能进一步提升在.NET环境中处理XML和文件操作的能力。对于跨平台开发,特别是与iOS设备交互的场景,这是一个实用的工具。同时,阅读源码也能...

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

    "TempFileReadWrite.zip"这个压缩包包含了一些iPhone开源项目的源码,主要涉及文件的临时读写操作。在iOS应用中,正确处理文件读写是至关重要的,因为它涉及到数据持久化、用户交互和应用程序性能。 首先,我们要...

    iphone应用开发面试题库

    - 消息队列:有序的消息传递,支持读写操作。 - 套接字(Socket):跨网络的进程间通信方式,也可以用于同一主机内。 - 文件映射:通过共享文件实现进程间数据交换。 了解这些基础知识对于iPhone应用开发面试至...

    iPhone开发书籍大全].Beginning.iPhone.SDK.Programming.with.Objective-C

    - 文件读写操作的最佳实践 - 数据备份与恢复方案 ##### 第四部分:高级iPhone编程技术 - **第14章**:多触控应用编程 - 触摸事件的处理 - 多点触控手势识别 - 滑动、缩放等效果的实现 - **第15章**:简单动画...

    iphone属性列表持久化存储

    5. **项目结构**:“Persistence”这个文件很可能包含了项目的主要代码,可能包括一个或多个类,用于处理属性列表的读写操作。通常会有个主类负责处理数据的序列化和反序列化,以及文件I/O操作。 6. **实际应用**:...

    iphone开发之NSFileManager_Class.pdf

    - `NSFileManager` 允许开发者检查文件的读写权限,这对于确保安全的文件操作至关重要。 5. **归档与解档**: - 虽然这不是 `NSFileManager` 的直接功能,但通常结合 `NSKeyedArchiver` 和 `NSKeyedUnarchiver` ...

    USIM卡上联系人的读写

    - 随着iPhone等智能手机的流行,Android系统成为主流操作系统之一。然而,早期的Android系统不支持大容量的USIM卡读写,这促使手机厂商和方案公司需要自行研发解决方案。 4. **解决方案**: - 对于SIM卡的联系人...

    iPhone 数据持久储存的几种方式

    综上所述,iPhone数据持久化的方法包括文件系统操作、使用Core Data、SQLite数据库、iCloud同步、Keychain服务以及对象的归档和序列化。每种方法都有其适用场景,开发者应根据应用的需求选择合适的技术。例如,对于...

    iphone开发入门经典源码

    iPhone开发入门经典》基于Apple最新发布的iPhoneOS3.0编写,循序渐进地介绍了从事iPhoneF发所需的基本知识,包括使用Xcode、Interface Builder、objective-C和(Cocoa Touch等开发工具,设计及美化用户界面,读写和...

Global site tag (gtag.js) - Google Analytics