1 /* |
|
2 * Hedgewars-iOS, a Hedgewars port for iOS devices |
|
3 * Copyright (c) 2009-2010 Vittorio Giovara <vittorio.giovara@gmail.com> |
|
4 * |
|
5 * This program is free software; you can redistribute it and/or modify |
|
6 * it under the terms of the GNU General Public License as published by |
|
7 * the Free Software Foundation; version 2 of the License |
|
8 * |
|
9 * This program is distributed in the hope that it will be useful, |
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
12 * GNU General Public License for more details. |
|
13 * |
|
14 * You should have received a copy of the GNU General Public License |
|
15 * along with this program; if not, write to the Free Software |
|
16 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
17 * |
|
18 * File created on 21/09/2010. |
|
19 */ |
|
20 |
|
21 |
|
22 #import "NSStringExtra.h" |
|
23 |
|
24 @implementation NSString (extra) |
|
25 |
|
26 -(BOOL) appendToFile:(NSString *)path { |
|
27 NSOutputStream* os = [[NSOutputStream alloc] initToFileAtPath:path append:YES]; |
|
28 NSData *allData = [self dataUsingEncoding:NSUTF8StringEncoding]; |
|
29 |
|
30 [os open]; |
|
31 [os write:[allData bytes] maxLength:[allData length]]; |
|
32 [os close]; |
|
33 |
|
34 [os release]; |
|
35 return YES; |
|
36 } |
|
37 |
|
38 -(BOOL) appendToFile:(NSString *)path usingStream:(NSOutputStream *)os { |
|
39 NSData *allData = [self dataUsingEncoding:NSUTF8StringEncoding]; |
|
40 [os write:[allData bytes] maxLength:[allData length]]; |
|
41 return YES; |
|
42 } |
|
43 |
|
44 // by http://iphonedevelopment.blogspot.com/2010/08/nsstring-appendtofileusingencoding.html |
|
45 -(BOOL) appendToFile:(NSString *)path usingEncoding:(NSStringEncoding) encoding { |
|
46 NSFileHandle *fh = [NSFileHandle fileHandleForWritingAtPath:path]; |
|
47 if (fh == nil) |
|
48 return [self writeToFile:path atomically:YES encoding:encoding error:nil]; |
|
49 |
|
50 [fh truncateFileAtOffset:[fh seekToEndOfFile]]; |
|
51 NSData *encoded = [self dataUsingEncoding:encoding]; |
|
52 |
|
53 if (encoded == nil) |
|
54 return NO; |
|
55 |
|
56 [fh writeData:encoded]; |
|
57 return YES; |
|
58 } |
|
59 |
|
60 @end |
|