通过NSTask用Cocoa执行perl脚本
来源:互联网 发布:淘宝破损补寄 编辑:程序博客网 时间:2024/05/16 17:40
本文将用一个例子帮助你理解如何使用NSTask,例子通过在Cocoa中执行一个perl脚本,实现去掉给定NSString中的所有HTML标签。
这里是一个简单的perl脚本,文件名是stripper.pl,功能是去掉所有HTML标签。
#!/usr/bin/perl
while (<>) {
$_ =~ s/<[^>]*>//gs;
print $_;
}
记得把这个脚本chmod +x,将它加入项目中,即得把它复制进执行文件包内。
这个方法会将string参数直接传递给perl脚本,并将结果返回。
- (NSString *) stringStrippedOfTags: (NSString *) string
{
NSBundle *bundle = [NSBundle mainBundle];
NSString *stripperPath;
stripperPath = [bundlepathForAuxiliaryExecutable: @"stripper.pl"];
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath: stripperPath];
NSPipe *readPipe = [NSPipe pipe];
NSFileHandle *readHandle = [readPipe fileHandleForReading];
NSPipe *writePipe = [NSPipe pipe];
NSFileHandle *writeHandle = [writePipe fileHandleForWriting];
[task setStandardInput: writePipe];
[task setStandardOutput: readPipe];
[task launch];
[writeHandlewriteData: [string dataUsingEncoding:NSASCIIStringEncoding]];
[writeHandlecloseFile];
NSMutableData *data = [[NSMutableData alloc] init];
NSData *readData;
while ((readData = [readHandle availableData])
&& [readDatalength]) {
[dataappendData: readData];
}
NSString *strippedString;
strippedString = [[NSStringalloc]
initWithData: data
encoding:NSASCIIStringEncoding];
[task release];
[data release];
[strippedStringautorelease];
return (strippedString);
}
- 通过NSTask用Cocoa执行perl脚本
- 通过NSTask用Cocoa执行perl脚本
- 通过NSTask用Cocoa执行perl脚本
- 教程:通过NSTask用Cocoa执行perl脚本
- Cocoa中用NSTask执行外部命令并获取输出结果的方法
- perl如何运行执行脚本
- 通过例子解析perl脚本
- NSTask
- DBMS_SCHEDULER执行PERL脚本加载数据
- NSTAsk的用法:Cocoa 调用外部可执行程序。
- 用NSTask执行外部命令并获取输出结果的方法
- 用NSTask执行外部命令并获取输出结果的方法
- 用NSTask执行外部命令并获取输出结果的方法
- 用NSTask执行外部命令并获取输出结果的方法
- 用NSTask执行外部命令并获取输出结果的方法
- Perl入门一,通过shell执行perl语句
- Perl入门一,通过shell执行perl语句
- 通过脚本执行sql语句
- Java 2, JDK 1.4
- NYOJ 277题 车牌号
- Eclipse开发auto之dao层自动gen生成
- 【HDOJ】1164 -> Eddy's research I
- Javassist学习总结
- 通过NSTask用Cocoa执行perl脚本
- ORA-01652无法扩展temp表空间段
- FreeMarker集合(List、Map)
- Struts2常见错误
- PHP基础09-创建乘法表
- Local declaration of 'scanner' hides instance variable
- CDlinux-0.9.6.1.iso U盘版制作
- 学习 Java
- android C编程技巧 及 C/C++开发测试