ファイルパス/ファイルの操作
あと1日で三連休…。
今日はNSStringのメソッドを使ったファイルパスの操作やNSFileManagerを使ったファイル操作をやりました。
ホームディレクトリと相対パスの出力
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSString* path = NSHomeDirectory();
NSString* shortpath = [path stringByAbbreviatingWithTildeInPath];
NSLog(@"%@", path);
NSLog(@"%@", shortpath);
}
return 0;
}
(NSFileManagerとファイル操作(1/6):初心者のためのObjective-Cプログラミング入門より)
パスへの要素の追加・削除
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSString* path = NSHomeDirectory();
path = [path stringByAppendingPathComponent:@"Desktop"];
NSString* fullpath = [path stringByExpandingTildeInPath];
NSString* shortpath = [path stringByAbbreviatingWithTildeInPath];
NSString* dlpath = [path stringByDeletingLastPathComponent];
NSString* newpath = [path stringByAppendingPathComponent:@"newfile"];
NSLog(@"%@", fullpath);
NSLog(@"%@", shortpath);
NSLog(@"%@", dlpath);
NSLog(@"%@", newpath);
}
return 0;
}
パスの要素を配列で出力する
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSString* path = NSHomeDirectory();
NSArray* arr = [path pathComponents
NSLog(@"%@", arr);
return 0;
}
(NSFileManagerとファイル操作(2/6):初心者のためのObjective-Cプログラミング入門より)
ホームディレクトリにあるdata.txtというファイルをデスクトップにコピーする
#import <Foundation/Foundation.h>
int main(int argc, const char * argv){
@autoreleasepool {
NSFileManager* manager = [NSFileManager defaultManager];
NSError* err = nil;
NSString* path = [NSHomeDirectory() stringByAppendingPathComponent:@"data.txt"];
NSString* tpath = [NSHomeDirectory() stringByAppendingPathComponent:@"Desktop/copyed.txt"];
[manager copyItemAtPath:path toPath:tpath error:&err];
if (err == nil) {
NSLog(@"copyed.");
}else{
NSLog(@"%@.",[err localizedDescription]);
}
}
return 0;
}
(NSFileManagerとファイル操作(3/6):初心者のためのObjective-Cプログラミング入門より)
引き続きがんばります。