ios系统下删除文件的代码

   本文给大家总结了几则在IOS系统下删除文件的代码,十分的实用,有需要的小伙伴可以参考下。

  方法一:这段objective c代码用于删除指定路径的文件

  ?

1
2
3

if ([fileManager removeItemAtPath:@"FilePath" error:NULL]) {
NSLog(@"Removed successfully");
}

  方法二:

  ?

1
2
3
4
5

NSFileManager *defaultManager;
defaultManager = [NSFileManager defaultManager];
 
[defaultManager removeFileAtPath: tildeFilename
handler: nil];

  handler可以接收消息,比如如果删除失败,可以使用fileManager:shouldProceedAfterError: 。

  方法三:

  IOS 删除文件 删除文件夹 创建文件 创建文件夹 判断文件存在 md5 封装类

  自己最近在使用关于数据的存取和删除,于是自己就写了一个包括功能的类,自己用着还是蛮方便,再次分享一下

  StorageData.m

  ?

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305

//
// StorageData.m
// xunYi7
//
// Created by david on 13-6-28.
// Copyright (c) 2013年 david. All rights reserved.
//
 
#import <CommonCrypto/CommonDigest.h>
#import "StorageData.h"
#import "xunYi7AppDelegate.h"
 
@implementation StorageData
 
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
NSLog(@"开始结didReceiveData搜数据");
}
 
-(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
NSLog(@"开始结didReceiveResponse搜数据");
}
 
-(void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
NSLog(@"didFailWithError");
}
 
-(void) connectionDidFinishLoading:(NSURLConnection *)connection{
NSLog(@"connectionDidFinishLoading");
}
 
+(NSMutableData *)remoteFetchData:(NSString *)dataUrl{
NSString *currentDataFilePath = [[self dataPath] stringByAppendingPathComponent:[self fetchTodayDate]];
 
//创建目录
currentDataFilePath = [self createDirectory:currentDataFilePath];
 
currentDataFilePath = [currentDataFilePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.plist",[self md5:dataUrl]]];
 
if([xunYi7AppDelegate isReachable]){
NSURL *url = [[NSURL alloc] initWithString:dataUrl];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60];
 
NSURLResponse *response = [[NSURLResponse alloc] init];
NSError *receiveDataError = [[NSError alloc] init];
 
NSMutableData *receivedData = (NSMutableData *)[NSURLConnection sendSynchronousRequest:request
returningResponse:&response
error:&receiveDataError];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
 
return receivedData;
}else{
[xunYi7AppDelegate showNetworkMessage];
}
 
return nil;
}
 
+(NSMutableData *)localFetchData:(NSString *)dataUrl{
 
NSString *currentDataFilePath = [[self dataPath] stringByAppendingPathComponent:[self fetchTodayDate]];
NSString *yesterdayDataFilePath = [[self dataPath] stringByAppendingPathComponent:[self fetchYesterdayDate]];
 
//创建目录
currentDataFilePath = [self createDirectory:currentDataFilePath];
 
currentDataFilePath = [currentDataFilePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.plist",[self md5:dataUrl]]];
yesterdayDataFilePath = [yesterdayDataFilePath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.plist",[self md5:dataUrl]]];
 
NSMutableData *localData = [self fromFilenamePathFetchLocalData:currentDataFilePath];
 
if(localData != nil){//本地数据
return localData;
 
}else{//远程获取数据
 
NSMutableData *receivedData = [self remoteFetchData:dataUrl];
 
if(receivedData != nil){
if([self storageDataToFile:receivedData fileName:currentDataFilePath]){
NSLog(@"保存成功");
[self removeDirectory];
}else{
NSLog(@"保存失败");
}
}else{
if((localData = [self fromFilenamePathFetchLocalData:yesterdayDataFilePath]) != nil){
return localData;
}
}
return receivedData;
}
return nil;
}
 
//md5加密字符串
+(NSString *)md5:(NSString *)str{
const char *cStr = [str UTF8String];
unsigned char result[16];
CC_MD5(cStr, strlen(cStr), result); // This is the md5 call
return [NSString stringWithFormat:
@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15]
];
}
//上传图片存储
+(void) saveUploadImage:(UIImage *)image withName:(NSString *)imageName{
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSError *error;
 
// 获取沙盒目录
NSString *fullPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
fullPath = [fullPath stringByAppendingPathComponent:@"tmpImage"];
if(![fileManager fileExistsAtPath:fullPath]){
[fileManager createDirectoryAtPath:fullPath
withIntermediateDirectories:YES
attributes:nil
error:&error];
}
 
fullPath = [fullPath stringByAppendingPathComponent:imageName];
NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
 
// 将图片写入文件
[imageData writeToFile:fullPath atomically:NO];
}
 
//上传图片删除
+(void) removeUploadImage:(UIImage *)image withName:(NSString *)imageName{
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSError *error;
 
// 获取沙盒目录
NSString *fullPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
fullPath = [fullPath stringByAppendingPathComponent:@"tmpImage"];
if(![fileManager fileExistsAtPath:fullPath]){
[fileManager removeItemAtPath:fullPath error:&error];
}
}
 
//获取存储的图片
+(NSString *)fetchUploadImagePath:(NSString *)imageName{
NSString *fullPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
fullPath = [fullPath stringByAppendingPathComponent:@"tmpImage"];
fullPath = [fullPath stringByAppendingPathComponent:imageName];
return fullPath;
}
 
//判断文件是否存在
+(NSString *)isFileExists:(NSString *)fullpath{
NSFileManager *fileManager = [[NSFileManager alloc] init];
if([fileManager fileExistsAtPath:fullpath]){
return fullpath;
}
return nil;
}
 
//数据存储
//+(void)
 
//获取存储文件的目录
+(NSString *)dataPath{
//此处首先指定了图片存取路径(默认写到应用程序沙盒 中)
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
 
//并给文件起个文件名
NSString *filePathDerectory = [paths objectAtIndex:0];
 
return filePathDerectory;
}
 
//获取指定文件的数据
+(NSMutableData *)fromFilenamePathFetchLocalData:(NSString *)filename{
//保存数据到指定文件中
NSFileManager *fileManager = [[NSFileManager alloc] init];
if([fileManager fileExistsAtPath:filename]){
NSData *data = [fileManager contentsAtPath:filename];
return [data mutableCopy];
}
 
return nil;
}
 
//存储数据到指定文件
+(BOOL) storageDataToFile:(NSData *)data fileName:(NSString *)fileName{
//保存数据到指定文件中
NSFileManager *fileManager = [[NSFileManager alloc] init];
if([fileManager createFileAtPath:fileName contents:data attributes:nil]){
return YES;
}else{
return NO;
}
}
 
//删除文件
+(void) deleteFile:(NSString *)fileName{
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSError *error;
[fileManager removeItemAtPath:fileName error:&error];
}
 
//获取今天的日期
+(NSString *) fetchTodayDate{
NSDate *currentDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
return [dateFormatter stringFromDate:currentDate];
}
 
//获取昨天的日期
+(NSString *) fetchYesterdayDate{
NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:-(24 * 60 * 60)];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
return [dateFormatter stringFromDate:yesterdayDate];
}
 
//获取前天的日期
+(NSString *) fetchYesterdayBeforeDate{
NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:-(2 * (24 * 60 * 60))];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
return [dateFormatter stringFromDate:yesterdayDate];
}
 
//获取存储文件的数据
 
//创建文件
 
//创建目录
+(NSString *) createDirectory:(NSString *)directoryName{
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSError *error;
if(![fileManager fileExistsAtPath:directoryName]){
[fileManager createDirectoryAtPath:directoryName
withIntermediateDirectories:YES
attributes:nil
error:&error];
if(error == nil){
return directoryName;
}else{
return directoryName;
}
}else{
return directoryName;
}
}
//删除文件
+(void) removeFile:(NSString *)filePath{
NSError *error;
 
NSFileManager *fileManager = [[NSFileManager alloc] init];
if([fileManager fileExistsAtPath:filePath]){
[fileManager removeItemAtPath:filePath error:&error];
}
if(error){
NSLog(@"error = %@",error);
}
}
 
//删除目录
+(void) removeDirectory{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *removeDirectoryPath = [documentsPath stringByAppendingPathComponent:[self fetchYesterdayBeforeDate]];
NSError *error;
 
NSFileManager *fileManager = [[NSFileManager alloc] init];
if([fileManager fileExistsAtPath:removeDirectoryPath]){
[fileManager removeItemAtPath:removeDirectoryPath error:&error];
}
if(error){
NSLog(@"error = %@",error);
}
}
@end
StorageData.h
 
//
// StorageData.h
// xunYi7
//
// Created by david on 13-6-28.
// Copyright (c) 2013年 david. All rights reserved.
//
 
#import <Foundation/Foundation.h>
 
@interface StorageData : NSObject<NSURLConnectionDataDelegate, NSURLConnectionDelegate>
 
+(NSMutableData *)remoteFetchData:(NSString *)dataUrl;
+(NSMutableData *)localFetchData:(NSString *)dataUrl;
+(void) saveUploadImage:(UIImage *)image withName:(NSString *)imageName;
+(NSString *) uploadImage:(UIImage *)image withName:(NSString *)imageName;
+(NSString *) fetchUploadImagePath;
+(NSString *) fetchUploadImagePath:(NSString *)imageName;
+(void) removeUploadImage:(UIImage *)image withName:(NSString *)imageName;
+(NSString *)isFileExists:(NSString *)fullpath;
+(void) removeFile:(NSString *)filePath;
@end

  有不完善的地方,希望指正和修改

时间: 2024-10-28 17:06:36

ios系统下删除文件的代码的相关文章

ios系统下删除文件的代码_IOS

方法一:这段objective c代码用于删除指定路径的文件 if ([fileManager removeItemAtPath:@"FilePath" error:NULL]) { NSLog(@"Removed successfully"); } 方法二: NSFileManager *defaultManager; defaultManager = [NSFileManager defaultManager]; [defaultManager removeFi

win7系统下删除文件不进入回收站的操作方法

  不是电脑技术人员使用电脑时都是走"大众化"路线,即简单不繁琐.就拿删除文件举个例子.对于我们大部分人若想删除一个文件,就是:右击-删除-左击,文件就能从文件夹里消失.但是你有没有想过,这个被删除的文件真的被删除了吗?在电脑上再也找不到了吗?再也不用担心它占据电脑内存了吗?其实它还在你的电脑中占据你的内存,只是换了个环境--回收站.如果真的不要这个文件,还必须在回收站里再删除一遍,这才是真正的"消失".那小编就来告诉大家win7系统如何直接删除文件不经过回收站.

XP系统下删除文件时没有确定对话框怎么办

  1.首先,咱们需要返回到winXP电脑的桌面位置,之后,咱们在桌面找到回收站图标并右键点击,在出现的下滑菜单中,咱们选择属性选项. 2.在打开的回收站属性窗口中,咱们就可以找到界面中的"显示删除确认对话框"选项了,在最下方的位置,咱们只要将这个"显示删除确认对话框"选项勾选上,然后点击确定保存.这样,咱们以后在winXP系统中删除文件,就会弹出之前的询问窗口了.   在xp系统下删除文件时,如果没有确定对话框会非常不方便.遇到这个问题的用户,只要按照小编的方法进

如何关闭Win8系统下删除文件弹出确认提示

  如果部分用户习惯于不显示删除文件确认对话框,却发现回收站设置中"显示删除确认对话框"这个选项被勾选并且是灰色无法更改,这是因为Win8系统的组策略编辑器中对文件删除做了修改.如果需要取消,则需要进入组策略编辑器做一些简单的设置步骤. 操作步骤 1. 使用"Win+R"快捷键打开"运行"窗口,输入"gpedit.msc"命令并确认.在Win8系统的"本地组策略编辑器"中找依次到"用户配置-管理模

Win8/8.1系统下删除文件夹没有最高权限的解决方法

  解决方法一: 1.右键单击要更改权限的文件夹,依次选择属性--安全--高级--所有者--更改 ,高级--立即查找,把"Everyone"添加进去,并确认. 2.编辑"Everyone"权限为[完全控制]并确认. 解决方法二: 1.为了一劳永逸.我们建议使用[右键扩展菜单法].具体操作: 新建一个记事本,把如下内容复制进去,效果如图. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT*shellruna

Win7旗舰版系统下删除文件后不在回收站怎么办

  1.在win7系统桌面上鼠标右击"回收站"图标上选择"属性",打开"回收站属性"窗口; 2.在打开"回收站属性"窗口中,会发现在"选定位置的设置"处选择了"不将文件移到回收站中.移除文件后立即将其删除,这样才导致文件会被直接删除",这就是导致文件删除后不被放在回收站的原因了; 3.然后将其改为"自定义大小",并设置文件或文件夹删除后存放在回收站的最大容量,建议容量

php下连接ftp实现文件的上传、下载、删除文件实例代码_php基础

php ftp传送文件到服务器 复制代码 代码如下: <?php // 开始 $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY, filesize("test")); // 或: $ret = ftp_nb_get ($my_connection, "test", "README", // FTP_BINARY, FTP_A

苹果iOS系统下的推送机制及实现

苹果iOS系统下的推送机制及实现 浏览:785次  出处信息 本文译自http://www.raywenderlich.com.原文由iOS教程团队 Matthijs Hollemans 撰写,经原网站管理员授权本博翻译. 在iOS系统,考虑到手机电池电量,应用不允许在后台进行过多的操作,当用户未开启应用时,要怎么样才能通知用户呢? 好比用户收到一个新的微博.喜欢的球队取得一场胜利或者是晚餐准备好了,如果应用都不在运行当中,当然也就无法去获得这些事件. 幸运的是苹果提供一个解决方案,通过你自己的

安卓与IOS系统下手机安全大比拼

大学时代,我们对于新来的小师妹总有这样的忠告,"防火.防盗.防师兄",如今的智能时代,我们想要给所有使用智能设备的朋友一句忠告,"防泄密.防暗扣.防隐患".移动互联的高速信息时代,智能手机安全防不胜防!"目前中国智能设备其实极不安全,中国90%的智能设备存在安全隐患!"前几日同洲电子董事长袁明语出惊人,那这话到底是否是真呢?首先我们来看看,哪些因素会导致智能设备不安全呢?往往手机病毒是安全的罪魁祸首,手机病毒是对手机木马.恶意软件的一个通俗易懂的