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第七节 IO
/* *第七讲 IO/输入与输出 * * File类 * RandomAccessFile类 * 各种节点流类 * 字符编码 * 各种过滤流与包装类 * *File类 * File类是IO包中唯一代表 ...
- gitlab webhook报500
使用root登陆gitlab,进入如下位置:
- 1078. Hashing (25)【Hash + 探測】——PAT (Advanced Level) Practise
题目信息 1078. Hashing (25) 时间限制100 ms 内存限制65536 kB 代码长度限制16000 B The task of this problem is simple: in ...
- 使用 ODP.NET 访问 Oracle(.net如何访问Oracle)详解
1,什么是ODF .NE,?就是Oracle 为 .NET (ODP.NET) 专门编写了 Oracle Data Provider,一个用于 Microsoft .NET 环境下的 Oracle 数 ...
- 【JS】移动端 好用的分享插件 soshm.js
参考链接:https://www.cnblogs.com/milo-wjh/p/6796082.html 对于qq内置浏览器分享功能处理:https://www.cnblogs.com/xuzheng ...
- QQ登录整合/oauth2.0认证-03-对第二节的代码改进
---------------------------目录---------------------------------- QQ登录整合/oauth2.0认证-01-申请appkey和appid ...
- aligned_storage简单学习
#include <iostream> #include <type_traits> #include <string> /* template< std:: ...
- Java爬虫框架调研
Python中大的爬虫框架有scrapy(风格类似django),pyspider(国产python爬虫框架). 除了Python,Java中也有许多爬虫框架. nutch apache下的开源爬虫程 ...
- MM bound 与 Jensen's inequality
MM bound 与 Jensen's inequality 简森不等式 在使用最大似然估计方法求解模型最优解的时候,如果使用梯度下降(GD or SGD)或者梯度上升(GA or SGA),可能收敛 ...
- C++11开发中的Atomic原子操作
C++11开发中的Atomic原子操作 Nicol的博客铭 原文 https://taozj.org/2016/09/C-11%E5%BC%80%E5%8F%91%E4%B8%AD%E7%9A%84 ...