iPhone-获取网络数据或者路径的文件名以及后缀

本文介绍了在iOS环境中,从网络数据流中提取文件名的多种方法,包括直接从URL路径中获取、通过字符分割、将链接视为路径、使用NSRange截取等技巧。并提供了实例代码演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


// 从路径中获得完整的文件名(带后缀)    
exestr = [filePath lastPathComponent];
    NSLog(@"%@",exestr);
// 获得文件名(不带后缀)
exestr = [exestr stringByDeletingPathExtension];    
    NSLog(@"%@",exestr);

// 获得文件的后缀名(不带'.')
exestr = [filePath pathExtension];
    NSLog(@"%@",exestr);

NSString *path = @"~/textFile.txt";
NSString *pathExtension = [path pathExtension];

pathExtension这个字符串的值将是“txt”。句点将被去掉了。如果没有句点指明扩展名,将返回一个空串。如果文件不存在,也将返回空串 

[[imageName componentsSeparatedByString:@"."] objectAtIndex:0]

用.分开, objectAtIndex:0为文件名, objectAtIndex:1为后缀 

iPhone-获取网络数据或者路径的文件名

iPhone中,在网络中的数据流中提取链接中的文件名称时,有很多方法,这里总结一些。

方法一:最直接。

NSString * urlString = @”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;

NSString *fileName = [urlString lastPathComponent];

NSLog(@”%@”,fileName);

方法二:根据字符或者时字符串分割。

Object -C

NSString *link = @”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;

NSString *filename = [[NSString alloc] init];

NSArray *SeparatedArray = [[NSArray alloc]init];

SeparatedArray =[link componentsSeparatedByString:@"/"];

filename = [SeparatedArray lastObject];

NSLog(@”%@”,SeparatedArray);

NSLog(@”%@”,filename);

[filename release];

方法三:将链接看成路径。

NSString * urlString = @”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;

NSArray *urlCom = [[NSArray alloc]initWithArray:[url pathComponents]];

NSLog(@”%@”,[urlCom lastObject]);

[urlCom release];

方法四:NSRange.它在截取二进制文件的时候十分方便。

NSString * urlString = @”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;

NSString * fileName;

NSRange range = [urlString rangeOfString:@"/" options:NSBackwardsSearch];

if (range.location != NSNotFound)

{

fileName = [urlString substringFromIndex:range.location+1];

if([[fileName lowercaseString]hasSuffix:@”.gif”])

{

NSLog(@”%@”,fileName);

}

else

{

}

}

else

{

return;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值