Copy an object:
@ Autoreleasepool {nsstring * homepha = nshomedirectory (); nslog (@ "% @", homepha); nsstring * srcpath = [homepha stringbyappendingpathcomponent: @ "ios.pdf"]; nsstring * tagetpath = [homep2 attributes: @ "ios_bak.pdf"]; nsfilemanager * filemanager = [nsfilemanager defaultmanager]; bool success = [filemanager createfileatpath: tagetpath contents: Nil attributes: Nil]; if (SUCCESS) {nslog (@ "created successfully");} nsfilehandle * infile = [nsfilehandle handle: srcpath]; nsfilehandle * OUTFILE = [nsfilehandle filehandleforwritingatpath: tagetpath]; nsdictionary * fileattr = [filemanager attributesofitematpath: srcpath error: Nil]; nsnumber * filesizenum = [fileattr objectforkey: nsfilesize]; bool isend = yes; nsinteger readsize = 0; nsinteger filesize = [filesizenum longvalue]; while (isend) {nsinteger subleng = filesize-readsize; nsdata * Data = nil; If (subleng <500) {isend = no; data = [infile readdatatoendoffile];} else {DATA = [infile readdataoflength: 500]; readsize + = 500; [infile seektofileoffset: readsize];} [OUTFILE writedata: Data];} [OUTFILE closefile];}
OC basics: 7.1 7.2 7.3 nsfilehandle and nsfilemanager Learning