❶ ios中怎么读取resources路径下的文件
NSArray *array = [[NSBundle mainBundle] pathsForResourcesOfType:@"jpg" inDirectory:@"image"];
NSLog(@"array:%@",array);
首先需要在mac上新建一个文件夹叫image, 放一些图片进去,然后把整个文件夹拖到项目中,在弹出的对话框中选择:Create folder references for any added folders ,这个会创建一个真实的目录,否则找到不这个目录下的文件
家目录下共有四个子目录:
Documents 目录:您应该将所有的应用程序数据文件写入到这个目录下。这个目录用于存储用户数据或其它应该定期备份的信息。
AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身。由于应用程序必须经过签名,所以您在运行时不能对这个目录中的内容进行修改,否则可能会使应用程序无法启动。
Library 目录:这个目录下有两个子目录:Caches 和 Preferences
Preferences 目录包含应用程序的偏好设置文件。您不应该直接创建偏好设置文件,而是应该使用NSUserDefaults类来取得和设置应用程序的偏好
Caches 目录用于存放应用程序专用的支持文件,保存应用程序再次启动过程中需要的信息。
tmp 目录:这个目录用于存放临时文件,保存应用程序再次启动过程中不需要的信息。
获取这些目录路径的方法:
1,获取家目录路径的函数:
NSString *homeDir = NSHomeDirectory();
2,获取Documents目录路径的方法:
NSArray *paths = (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
3,获取Caches目录路径的方法:
NSArray*paths=(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDir = [paths objectAtIndex:0];
4,获取tmp目录路径的方法:
NSString *tmpDir = NSTemporaryDirectory();
5,获取应用程序程序包中资源文件路径的方法:
例如获取程序包中一个图片资源(apple.png)路径的方法:
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@”apple” ofType:@”png”];
UIImage *appleImage = [[UIImage alloc] initWithContentsOfFile:imagePath];
代码中的mainBundle类方法用于返回一个代表应用程序包的对象。
文件IO
1,将数据写到Documents目录:
- (BOOL)writeApplicationData:(NSData *)data toFile:(NSString *)fileName {
NSArray *paths = (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0]; if (!docDir) { NSLog(@”Documents directory not found!”); return NO; }
NSString *filePath = [docDir :fileName];
return [data writeToFile:filePath atomically:YES];}
2,从Documents目录读取数据:
- (NSData *)applicationDataFromFile:(NSString *)fileName {
NSArray *paths = (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docDir = [paths objectAtIndex:0];
NSString *filePath = [docDir :fileName];
NSData *data = [[[NSData alloc] initWithContentsOfFile:filePath] autorelease]; return data;}
这个主要就是返回一个绝对路径用来存放我们需要储存的文件。
- (NSString *)dataFilePath {
NSArray *paths = (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory :@"shoppingCar.plist"];
}
NSFileManager* fm=[NSFileManager defaultManager];
if(![fm fileExistsAtPath:[self dataFilePath]]){
//下面是对该文件进行制定路径的保存
[fm createDirectoryAtPath:[self dataFilePath] withIntermediateDirectories:YES attributes:nil error:nil];
//取得一个目录下得所有文件名
NSArray *files = [fm subpathsAtPath: [self dataFilePath] ];
//读取某个文件
NSData *data = [fm contentsAtPath:[self dataFilePath]];
//或者
NSData *data = [NSData dataWithContentOfPath:[self dataFilePath]];
}
❷ iOS怎么获取并移除沙盒中Documents文件夹下的所有文件
IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容。iOS越狱不代表沙盒(sandbox)的移除,至少现在的越狱方案都不会做这样的傻事(不同的越狱方案对沙盒会有所不同的影响)。但可以肯定:通过App Store渠道下载安装(在路径/var/mobile/Applications/下面)的应用依然会被困在自己的沙盒内,即便是越狱环境,那么它们也不能非法未授权访问沙盒以外的文件,譬如说短信(/var/mobile/Library/SMS/sms.db)。 既然沙盒未被移除,那越狱的风险是什么?是安装的应用并不需要经过App Store的证书校验。就是说安装的应用可以自己选择安装路径,譬如说跟Apple的预装应用一样安装在/var/stash/Applications/下面,那么它便不受沙盒控制。它可以访问的文件就太多了,不限于你的短信、你的联系人、你的邮件、你的设置等等... 看到这里,你或许已经知道,为什么我们不推荐,甚至极力反对大家在越狱之后于App Store以外的渠道安装iOS普通应用(指那些IPA后缀的常规应用),即便你说这些应用不是盗版,它们是免费应用,并且是获得开发者授权才于这些商店上架云云...... Hey,你知道我不是跟你说什么盗版(这还需要再费口舌吗)。而是,我们无法清楚了解它们是否跟App Store上面分发的那个版本一模一样,还是说加过料的。譬如说,会安装在它们不应该在的路径下面,跳出沙盒的控制,又或者说带了其它数据收集的组件。 所以,越狱之后,请还继续在App Store安装应用。在Cydia上面只安装你信任的tweaks,通常我不会建议安装国内公司开发的任意软件,也不要添加他们提供的任何Cydia源。你知道,有时候App Store的条款和限制都绑不住这些流氓,放出来怎么得了?再进一步,如果一个国内公司开发的应用取得跟Cydia一样的地位,譬如说太极助手...后果我不敢想象。当我们选择越狱,一定程度上,是因为我们信任解决方案背后的越狱社群,信任Cydia,信任saurik,也相信这个社群的人会相互监督。但如果你把这种信任放在错误的人身上,那么...你要对自己负责,别人说活该的时候也认了罢。 那是否iOS越狱之后,从App Store安装的应用就一定安全?也并非如此,上面说了不同的越狱方案对sandbox的影响会有不同。但通常都会使其变得更虚弱,譬如说越狱之后这些应用可以‘fork’沙盒外的文件。当然,危害就没有那么大,也无需太过紧张。App Store上面的应用并没有坏到假设你的设备已经越狱然后针对开发出坏坏的功能隐蔽躲过App Store Review然后上架看能不能对已经越狱的设备作点坏事。
❸ ios10怎么查看文件夹
ios查看文件夹可以借助pp助手来查看,会方便一点而且可以查看更多的信息。
电脑安装好PP助手
手机连接电脑
等待设备识别成功即可在主界面左边的工具箱中文件管理里面找到
❹ ios关于文件的读取
ios关于文件的读取有四种方法:
#import <foundation foundation.h="">
int main(int argc, const char * argv[])
{
@autoreleasepool
{
//第一种方法: NSFileManager实例方法读取数据
NSArray* paths = (NSDesktopDirectory, NSUserDomainMask, YES);
NSString* thepath = [paths lastObject];
thepath = [thepath :@"fd_list.txt"];
NSLog(@"桌面目录:%@", thepath);
NSFileManager* fm = [NSFileManager defaultManager];
NSData* data = [[NSData alloc] init];
data = [fm contentsAtPath:thepath];
NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
//第二种方法: NSData类方法读取数据
data = [NSData dataWithContentsOfFile:thepath];
NSLog(@"NSData类方法读取的内容是:%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
//第三种方法: NSString类方法读取内容
NSString* content = [NSString stringWithContentsOfFile:thepath encoding:NSUTF8StringEncoding error:nil];
NSLog(@"NSString类方法读取的内容是:\n%@",content);
//第四种方法: NSFileHandle实例方法读取内容
NSFileHandle* fh = [NSFileHandle fileHandleForReadingAtPath:thepath];
data = [fh readDataToEndOfFile];
NSLog(@"NSFileHandle实例读取的内容是:\n%@", [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
}
return 0;
}
</foundation>
❺ 怎样访问ios app文件夹
应用程序可以使用文件共享让用户访问程序的用户数据文件。文件共享允许应用程序通过iTunes向用户显露应用程序/Documents目录的内容。这样,用户就可以在iPad和桌面计算机来回移动文件。
您可以通过如下步骤来让应用程序支持文件共享:
在应用程序的Info.plist文件中添加UIFileSharingEnabled键,并将键值设置为YES。
将您希望共享的文件放在应用程序的Documents目录。
一旦设备插入到用户计算机,iTunes
9.1就会在选中设备的Apps标签中显示一个File
Sharing区域。
此后,用户就可以向该目录添加文件或者将文件移动到桌面计算机中。
如果应用程序支持文件共享,当文件添加到Documents目录后,应用程序应该能够识别并做出适当响应。例如说,应用程序可以将新文件的内容显示界面上。请不要向用户展现目录的文件列表并询问他们希望对文件执行什么操作。
g
❻ 苹果手机怎么查看文件夹 iphone手机上查看储存里面的文件方法
1、首先我们打开苹果手机,在屏幕上找到设置按钮,点击进入设置界面。
2、进入设置界面之后,我们可以找到有自己的苹果手机使用名称的地方,点击进入这个界面。
3、在这个界面内我们可以找到iCloud这个选项,我们点击一下这个选项,进入这个界面。
4、然后我们再往下看手机屏幕,我们可以找到有iCloud Drive这个选项,把右面的开关按钮点击打开。
5、然后我们推到手机主屏幕上就可以看到有新增的“文件”这个图标,点击文件图标,然后进入这个界面。
6、进入文件界面之后,我们就可以根据自己的需要去查看管理苹果手机的文件了。