Gavin.han

致力于移动开发 技术改变生活
随笔 - 133, 文章 - 0, 评论 - 46, 阅读 - 42万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

ios文件处理(一)

Posted on   gavin.han  阅读(1479)  评论(2编辑  收藏  举报

一.在Documents、tmp和Library中存储文件

 Documents:用于存储应用程序中经常需要读取或写入的常规文件。

 tmp:用于存储应用程序运行时生成的文件。(随着应用程序的关闭失去了利用价值)

 Library:一般存放应用程序的配置文件,比如说plist类型的文件。

 

二.读取和写入文件

   1.新建Empty Application应用程序,添加HomeViewController文件

 HomeViewController.h代码:

 #import <UIKit/UIKit.h>

@interface HomeViewController : UIViewController
{
    
}
- (NSString *) documentsPath;//负责获取Documents文件夹的位置
- (NSString *) readFromFile:(NSString *)filepath; //读取文件内容
- (void) writeToFile:(NSString *)text withFileName:(NSString *)filePath;//将内容写到指定的文件
@end

 HomeViewController.m代码: 

#import "HomeViewController.h"
@interface HomeViewController ()
@end
@implementation HomeViewController
//负责获取Documents文件夹的位置
- (NSString *) documentsPath{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsdir = [paths objectAtIndex:0];
    return documentsdir;
}

 

//读取文件内容 
- (NSString *) readFromFile:(NSString *)filepath{
    if ([[NSFileManager defaultManager] fileExistsAtPath:filepath]){
        NSArray *content = [[NSArray alloc] initWithContentsOfFile:filepath]; 
        NSString *data = [[NSString alloc] initWithFormat:@"%@", [content objectAtIndex:0]];
        [content release];
        return data;
    } else {
        return nil;
    }
}
//将内容写到指定的文件
- (void) writeToFile:(NSString *)text withFileName:(NSString *)filePath{
    NSMutableArray *array = [[NSMutableArray alloc] init];
    [array addObject:text];
    [array writeToFile:filePath atomically:YES];
    [array release];
}

 

-(NSString *)tempPath{
    return NSTemporaryDirectory();
}
- (void)viewDidLoad
{
    NSString *fileName = [[self documentsPath] stringByAppendingPathComponent:@"content.txt"];
    
    //NSString *fileName = [[self tempPath] stringByAppendingPathComponent:@"content.txt"];
    
    [self writeToFile:@"苹果的魅力!" withFileName:fileName];
    
    NSString *fileContent = [self readFromFile:fileName];
    
    NSLog(fileContent);
    
    [super viewDidLoad];
}
@end

 

效果图: 

 

 

 

 

 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示