16.4 练习
1.修改代码清单16-6中开发的复制程序,以便它像标准的UNIX命令一样,可以接收多个
要复制到该目录的源文件。如下命令
$copy copy1.m file1.m file2.m progs
应该将三个文件copy1.m、file1.m和fiel2.m复制到目录progs中。如果指定了多个源文件,那么最后一个参数实际上是现有的目录。
2.编写一个名为myfind命令行工具,它带有两个参数。第一个是开始搜索的初始目录,第
二个参数是需要定位的文件名。命令行
$myfind/Users proposal.doc
/Users/stevekochan/MyDocuments/proposals/proposal.doc
$
首先搜索/users的文件系统以查找文件proposal.doc。如果找到该文件,则输出该文件的完整路径名;如果没有找到,则输出一条合适的消息。
3.编写自己的标准UNIX工具,basename和dirname。
4.使用NSProcessInfo编写一个程序,用于显示每个取值函数方法所返回的所有信息。
5.给定本章中介绍过的NSPathUtilities.h函数NSTemporaryDirectory和NSProcessInfo方法globallyUniqueString,将名为TempFiles的分类添加到NSString中,并定义一个名为temporaryFileName的方法,每次调用这个方法都返回单值的文件名。
6.修改代码清单16-7,以便该文件一次读取和写入kBufSize个字节,其中kBufSize定义在程序的开始部分。一定要对大型文件测试这个程序(也就是大于kBufSize字节的文件)。
7.打开一个文件,一次从中读取128个字节,并将其写到终端。利用FileHandle的方法fileHandleWithStandardOutput来获得终端输出的句柄。