最近要在模擬器環境下收集一些資料日誌。
然後考慮到資料記載和追加功能。
簡單代碼如下
+(void) appString:(NSString *) s{BOOL isExit = [NLCommonUtil isExitOfFile:@"nonotextiphone"];NSString *filePath = [self FilePathInDocumentByFileName:@"nonotextiphone"];if (!isExit) { NSLog(@"%@",@"檔案不存在"); NSString *s = [NSString stringWithFormat:@"開始了:\r"]; [s writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:nil]; }NSFileHandle *outFile;NSData *buffer;outFile = [NSFileHandle fileHandleForWritingAtPath:filePath];if(outFile == nil){ NSLog(@"Open of file for writing failed");}//找到並定位到outFile的末尾位置(在此後追加檔案)[outFile seekToEndOfFile];//讀取inFile並且將其內容寫到outFile中 NSString *bs = [NSString stringWithFormat:@"%@",s];buffer = [bs dataUsingEncoding:NSUTF8StringEncoding];[outFile writeData:buffer];//關閉讀寫檔案[outFile closeFile];}
代碼比較簡單。我這邊因為值考慮一個文字檔,檔案名稱直接寫死了。
需要的可以將方法添加檔案名稱形參。
1.判斷檔案是否存在,不存在就建立。
2.利用FileHandle類來實現文本追加。
順手添上個android上的,因為android上也要測試這個東西。
public static void appString (String s){ String path= Environment.getExternalStorageDirectory() + "/download_JFK/nonotextandroid"; FileWriter writer; File f = new File(path); if(!f.exists()) { try {f.createNewFile();writer = new FileWriter(f);writer.write("開始了:\r"); writer.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} } try {writer = new FileWriter(path, true);writer.write(s); writer.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} }
~~~~~~~