您的位置:首页 > 其它

用NSTask执行外部命令并获取输出结果的方法

2014-10-09 23:48 627 查看
本文介绍了如何通过NSTask在当前目录执行“ls -l -a -t”,并将结果保存在NSString中的基本方法。

NSTask *task;

task = [[NSTask alloc] init];

[task setLaunchPath: @"/bin/ls"];

NSArray *arguments;

arguments = [NSArray arrayWithObjects: @"-l", @"-a", @"-t", nil];

[task setArguments: arguments];

NSPipe *pipe;

pipe = [NSPipe pipe];

[task setStandardOutput: pipe];

NSFileHandle *file;

file = [pipe fileHandleForReading];

[task launch];

NSData *data;

data = [file readDataToEndOfFile];

NSString *string;

string = [[NSString alloc] initWithData: data

encoding: NSUTF8StringEncoding];

NSLog (@"got\n%@", string);

当然你可以使用不同的NSFileHandle方法作不同方式的读取,同时你还可以建立一个与调用的程序交互的管道。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: