iPhone-获取网络数据或者路径的文件名
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-获取网络数据或者路径的文件名的更多相关文章
- Http方式获取网络数据
通过以下代码可以根据网址获取网页的html数据,安卓中获取网络数据的时候会用到,而且会用Java中的sax方式解析获取到数据.(sax解析主要是解析xml)具体代码如下: package com.wy ...
- android—获取网络数据
取网络数据主要靠发交易(或者说请求,接口等),而这些交易由java中的网络通信,HttpURLConnection和HttpClient实现,以下是具体例子. 大家都知道,网络通信,发送请求有两种 ...
- Swift实战-豆瓣电台(三)获取网络数据
观看地址:http://v.youku.com/v_show/id_XNzMwMzQxMzky.html 这节内容,我们先说了怎么将storyboard中的组件在类中进行绑定.然后写了一个类用来获取网 ...
- 使用NSURLSession获取网络数据和下载文件
使用NSURLSession获取网络数据 使用NSURLSession下载文件
- Swift - 异步获取网络数据封装类
使用NSURLConnection.sendAsynchronousRequest()可以采用异步获取的方式取得数据.下面通过对数据获取类进行封装,演示如何进行数据请求与接收. 1,HttpContr ...
- Android中获取网络数据时的分页加载
//此实在Fragment中实现的,黄色部分为自动加载,红色部分是需要注意的和手动加载, 蓝色部分是睡眠时间,自我感觉不用写 ,还有就是手动加载时,不知道为什么进去后显示的就是最后一行,求大神 ...
- [置顶] 获取网络数据中的数组显示成ListView的简单流程
首先说一下 这是我自己的个人笔记,如果想看看,不用看细节,可以看流程. 定义一个线程池 ExecutorService pool = Executors.newFixedThreadPool(15) ...
- 使用promise方式来获取网络数据
获取网络数据 let data = []; new Promise(function(resolve,reject){ axios.post('api.php').then(function(resp ...
- ListView获取网络数据并展示优化练习
权限: <uses-permission android:name="android.permission.INTERNET"></uses-permission ...
随机推荐
- Java的静态成员类
Java的静态成员类: 1.静态成员类是最简单的嵌套类.最好把它看成一个普通的类,只是碰巧被声明在另一个类的内部而已,它可以访问外围类的所以成员,包括那些声明为私有的成员. 2.静态成员类是外围类的一 ...
- Jackson序列化日期类型的属性
@JsonProperty("BankSettlementDate") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = ...
- Django之 创建第一个站点
详细请查看麦子学院django第二小节 一.新建website 工程: 在python34目录下创建一个空文件,名字为“djangoweb” 1.环境变量设置2.打开cmd命令符界面C:\Users\ ...
- Appium原理及版本变化细节
Appium原理小结 Api接口调用selenium的接口,Android底层用android的instrumentation(API2.3+ 通过绑定另外一个独立的selendroid项目来实现的) ...
- [Jmeter系列]Jmeter源码编译步骤(转)
官网:http://jmeter.apache.org/building.html 1,在apach官网download源码: http://jmeter.apache.org/download_ ...
- RHEL7 Apache 服务测试
把防火墙和selinux关闭,这样试验过程中就不用配置相关策略了. 实验一.安装apache,并提供服务 在RHEL1上 #yum install -y httpd #echo basictest & ...
- iOS刻度尺换算之1mm等于多少像素理解
刚好看到一个刻度尺文章,实现手机屏幕上画刻度尺. 然后就有一个疑问:这个现实中的1mm(1毫米)长度与手机像素之间的换算比怎么来的呢? 看了下demo代码,发现这样写的: CGFloat sc_w = ...
- unix环境高级编程 读书笔记
1.上班业余时间把书下载下来,第一章读完了,但是程序只能回家运行啦!Fighting!
- IT技术需求建立时需考虑的因素
2012-11-13 内容存档在evernote,笔记名"IT技术需求建立时需考虑的因素"
- Android 获取包名,版本信息
Android 获取包名,版本信息及VersionName名称 <span style="font-size: 14px;">private String ge ...