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

方法一:最直接。

1     NSString * urlString = @"http://www.baidu.com/img/baidu_logo_fqj_10.gif";
2     NSString *fileName = [urlString lastPathComponent];
3     NSLog(@"%@",fileName);

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


 1         NSString *link = @"http://www.baidu.com/img/baidu_logo_fqj_10.gif";
 2     
 3     NSString *filename = [[NSString alloc] init];
 4     NSArray *SeparatedArray = [[NSArray alloc]init];
 5     SeparatedArray =[link componentsSeparatedByString:@"/"];
 6     filename = [SeparatedArray lastObject];
 7     
 8         
 9     NSLog(@"%@",SeparatedArray);
10     NSLog(@"%@",filename);
11         
12     [filename release];
 

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

1      NSString * urlString = @"http://www.baidu.com/img/baidu_logo_fqj_10.gif";
2      NSArray *urlCom = [[NSArray alloc]initWithArray:[url pathComponents]];
3      
4      NSLog(@"%@",[urlCom lastObject]);
5      
6      [urlCom release];

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

 
 1 NSString * urlString = @"http://www.baidu.com/img/baidu_logo_fqj_10.gif";
 2     NSString * fileName;
 3     
 4     NSRange range  = [urlString rangeOfString:@"/" options:NSBackwardsSearch];
 5     
 6     if (range.location != NSNotFound)
 7     {
 8         fileName = [urlString substringFromIndex:range.location+1];
 9         
10         if([[fileName lowercaseString]hasSuffix:@".gif"])
11         {
12             NSLog(@"%@",fileName);
13         }
14         else 
15         {
16         }
17     }
18     else
19     {
20         return;
21     }
22 

iPhone-获取网络数据或者路径的文件名的更多相关文章

  1. Http方式获取网络数据

    通过以下代码可以根据网址获取网页的html数据,安卓中获取网络数据的时候会用到,而且会用Java中的sax方式解析获取到数据.(sax解析主要是解析xml)具体代码如下: package com.wy ...

  2. android—获取网络数据

    取网络数据主要靠发交易(或者说请求,接口等),而这些交易由java中的网络通信,HttpURLConnection和HttpClient实现,以下是具体例子.   大家都知道,网络通信,发送请求有两种 ...

  3. Swift实战-豆瓣电台(三)获取网络数据

    观看地址:http://v.youku.com/v_show/id_XNzMwMzQxMzky.html 这节内容,我们先说了怎么将storyboard中的组件在类中进行绑定.然后写了一个类用来获取网 ...

  4. 使用NSURLSession获取网络数据和下载文件

    使用NSURLSession获取网络数据 使用NSURLSession下载文件

  5. Swift - 异步获取网络数据封装类

    使用NSURLConnection.sendAsynchronousRequest()可以采用异步获取的方式取得数据.下面通过对数据获取类进行封装,演示如何进行数据请求与接收. 1,HttpContr ...

  6. Android中获取网络数据时的分页加载

    //此实在Fragment中实现的,黄色部分为自动加载,红色部分是需要注意的和手动加载,    蓝色部分是睡眠时间,自我感觉不用写  ,还有就是手动加载时,不知道为什么进去后显示的就是最后一行,求大神 ...

  7. [置顶] 获取网络数据中的数组显示成ListView的简单流程

    首先说一下  这是我自己的个人笔记,如果想看看,不用看细节,可以看流程. 定义一个线程池 ExecutorService pool = Executors.newFixedThreadPool(15) ...

  8. 使用promise方式来获取网络数据

    获取网络数据 let data = []; new Promise(function(resolve,reject){ axios.post('api.php').then(function(resp ...

  9. ListView获取网络数据并展示优化练习

    权限: <uses-permission android:name="android.permission.INTERNET"></uses-permission ...

随机推荐

  1. Yii2框架bootstrap样式理解

    Yii2框架默认採用了bootstrap作为CSS风格,各种视图类组件都如此.之前一直採用默认风格,并在必要的时候加入或者改动一下class来达到目的.但在改版Yii1.1的orange项目时.发现之 ...

  2. 防止跨站请求伪造(CSRF)攻击 和 防重复提交 的方法的实现

    CSRF的概念可以参考:http://netsecurity.51cto.com/art/200812/102951.htm 本文介绍的是基于spring拦截器的Spring MVC实现 首先配置拦截 ...

  3. POJ 2676 Sudoku (数独 DFS)

      Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14368   Accepted: 7102   Special Judg ...

  4. vmware网络模式仅主机模式linux不能ping通window

    问题描述 vmware在使用仅主机模式,新建的linux虚拟机,不能ping通window本机(宿主主机).....(这不蛋疼吗...) 注意:后面的搞定后的结果 解决方案 开启家庭组的,网络发现功能 ...

  5. 图标资源: http://www.easyicon.net/ 可以按关键词搜索

      搜索图标    

  6. 苹果后门、微软垄断与Linux缺位

    7月21日,法国学者J.Zdziarski指出苹果系统存在人为的预先设置的"系统后门".危害用户的信息安全. 次日,苹果承认了系统存在诊断"后门". 7月28日 ...

  7. 分享一个VS2008漂亮的黑色主题

    如果恰巧你也使用Visual Studio 2008这个版本, 如果你也恰巧厌烦了白色的背景, 那么推荐你使用这款纯黑色theme,搭配上DroidSansMonog这个等宽字体(打包下载),每天都可 ...

  8. onActivityResult 传递数据

    onActivityResult 传递数据 http://www.cnblogs.com/sipher/articles/2435078.html 如下图所示.当菜单项变多时,出现了垂直的滚动条,选项 ...

  9. [转] mysql --prompt介绍

    mysql --prompt修改命令行链接mysql时的提示符,shell脚本示例如下 #!/bin/bash case $1 in crm) cmd='mysql -h192.168.1.2 -ur ...

  10. ubuntu下制作u盘启动盘

    ubuntu12.04下成功制作了ubuntu13.10 U盘启动盘. 成功 ubuntu14.04下成功制作了centos.7 U盘启动盘.成功 1.安装u盘制作工具unetbootin sudo ...