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

iPhone 文件读写操作

1,写文件操作

- (IBAction)btnWrite:(id)sender {
  //创建文件管理器
  NSFileManager *fileManager = [NSFileManager defaultManager];
  //获取路径
  //参数 要获取的哪种路径
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentDirectory = [paths objectAtIndex:0];//去除需要的路径
  //更改到操作的目录下
  [fileManager changeCurrentDirectoryPath:[documentDirectory stringByExpandingTildeInPath]];
   //创建文件fileName文件名称,contents文件内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil
  [fileManager createFileAtPath:@"fileName" contents:nil attributes:nil];
  //删除待删除文件
  [fileManager removeItemAtPath:@"createNewFile" error:nil];
  //获取文件路径
  NSString *path = [documentDirectory stringByAppendingPathComponent:@"fileName"];
  NSLog(@"path == %@",path);
  //待写入的数据
  NSString *temp = @"Hello world";
  int data0 = 1000000;
  float data2 = 23.23f;
  //创建数据缓冲
  NSMutableData *writer = [[NSMutableData alloc]init];
  //将字符串添加到缓冲中
  [writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
  [writer appendBytes:&data0 length:sizeof(data0)];
  [writer appendBytes:&data2 length:sizeof(data2)];

  [writer writeToFile:path atomically:YES];
  [writer release];
}

2,读文件操作

- (IBAction)btnRead:(id)sender {
  //创建文件管理器
  NSFileManager *fileManager = [NSFileManager defaultManager];
  //获取路径
  //参数 要获取的哪种路径
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *documentDirectory = [paths objectAtIndex:0];//去除需要的路径
  //更改到操作的目录下
  [fileManager changeCurrentDirectoryPath:[documentDirectory stringByExpandingTildeInPath]];
   //创建文件fileName文件名称,contents文件内容,如果开始没有内容可以设置为nil,attributes文件的属性,初始为nil
  [fileManager createFileAtPath:@"fileName" contents:nil attributes:nil];
  //删除待删除文件
  [fileManager removeItemAtPath:@"createNewFile" error:nil];
  //获取文件路径
  NSString *path = [documentDirectory stringByAppendingPathComponent:@"fileName"];
  NSLog(@"path == %@",path);
  //待写入的数据
  NSString *temp = @"Hello world";
  int data0 = 1000000;
  float data2 = 23.23f;
  //创建数据缓冲
  NSMutableData *writer = [[NSMutableData alloc]init];
  //将字符串添加到缓冲中
  [writer appendData:[temp dataUsingEncoding:NSUTF8StringEncoding]];
  [writer appendBytes:&data0 length:sizeof(data0)];
  [writer appendBytes:&data2 length:sizeof(data2)];

  [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:&gData1 range:NSMakeRange([temp length]+ sizeof(gData0) , sizeof(gData1))];
  NSLog(@"gData0 == %d",gData0);
  NSLog(@"gData1 == %f",gData1);
  NSLog(@"gData2 == %@",gData2);

  // lblText.text = gData2;

}

 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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

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

    IOS文件的简单读写实例详解 数组(可变与不可变)和字典(可变与不可变)中元素对象的类型,必须是NSString,NSArray,NSDictionary,NSData,否则不能直接写入文件 #pragma mark---NSString的写入与读取--- //1:获取路径 NSString *docunments = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObje

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

    iPhone 文件读写操作 1,写文件操作 - (IBAction)btnWrite:(id)sender { //创建文件管理器 NSFileManager *fileManager = [NSFileManager defaultManager]; //获取路径 //参数 要获取的哪种路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSSt

  • Java 对 Properties 文件的操作详解及简单实例

    Java 对 Properties 文件的操作 简介 在 Java 中,我们常用 java.util.Properties.Properties 类来解析 Properties 文件,Properties 格式文件是 Java 常用的配置文件,它用来在文件中存储键-值对,其中键和值用等号分隔,格式如下: name=shawearn Properties 类是 java.util.Hashtable<Object, Object> 的子类,用于键和值之间的映射. 在对 Properties 格式

  • Pandas对CSV文件读写操作详解

    目录 什么是 CSV 文件 CSV 库解析 CSV 文件 读取 CSV 文件 CSV reader 参数 CSV 文件的写入 使用 pandas 库解析 CSV 文件 pandas 读取 CSV 文件 pandas 写入 CSV 文件 什么是 CSV 文件 CSV 文件(逗号分隔值文件)是一种纯文本文件,它使用特定的结构来排列表格数据.因为它是一个纯文本文件,所以只能包含实际的文本数据,换句话说就是可打印的 ASCII 或 Unicode 字符. 通常,CSV 文件的结构由其名称给出,使用逗号分

  • Go语言学习笔记之文件读写操作详解

    目录 文件写 文件读 小结 文件操作比较多,分为几篇来写吧.首先是文件的读写,在平时的工程化操作中使用最多. 文件写 样例代码如下 package main import ( "bufio" "fmt" "io" "os" ) //写文件 func DoWriteFile() error { _filePath := "./test.txt" _file, _err := os.OpenFile(_file

  • Java Zip文件读写操作详解

    输入流(读取): ZipInputStream是一种FileInputStream流,它可以直接读取Zip压缩包的内容: ┌───────────────────┐│    InputStream    │└───────────────────┘          ▲          │┌───────────────────┐│ FilterInputStream │└───────────────────┘          ▲          │┌──────────────────

  • Android 文件操作详解及简单实例

     Android 文件操作详解 Android 的文件操作说白了就是Java的文件操作的处理.所以如果对Java的io文件操作比较熟悉的话,android的文件操作就是小菜一碟了.好了,话不多说,开始今天的正题吧. 先从一个小项目入门吧 首先是一个布局文件,这一点比较的简单,那就直接上代码吧. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="htt

  • C++文件读写操作详解

    目录 一.读写文本文件 1.1 写文件 1.2读文件 二.读写二进制文件 2.1 写文件 2.2 读文件 一.读写文本文件 1.1 写文件 写文件步骤如下: 包含头文件 #include <fstream> 创建流对象 ofstream ofs; 打开文件 ofs.open("文件路径",打开方式); 写数据 ofs << "写入的数据"; 关闭文件 ofs.close(); 文件打开方式: 打开方式 解释 ios::in 为读文件而打开文件

  • Node.js Streams文件读写操作详解

    Node.js 天生异步和事件驱动,非常适合处理 I/O 相关的任务.如果你在处理应用中 I/O 相关的操作,你可以利用 Node.js 中的流(stream).因此,我们先具体看看流,理解一下它们是怎么简化 I/O 操作的吧. 流是什么 流是 unix 管道,让你可以很容易地从数据源读取数据,然后流向另一个目的地. 简单来说,流不是什么特别的东西,它只是一个实现了一些方法的 EventEmitter .根据它实现的方法,流可以变成可读流(Readable),可写流(Writable),或者双向

  • java进行文件读写操作详解

    直接上代码,有详细注释,有图解,相信你懂得! 复制代码 代码如下: package day14; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.

  • JAVA文件读写操作详解

    目录 一.读文件BufferedInputStream 二.写文件BufferedOutputStream 三.实际应用场景 总结 一.读文件BufferedInputStream BufferedInputStream必须传入一个InputStream(一般是FileInputStream) 常用方法: 从该输入流中读取一个字节 public int read(); 从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中. public int read(byte[] b,in

随机推荐