- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 NSData,我想将其作为 NSInputStream 读取。这样我就可以拥有一致的 API 来处理文件和内存中的数据。作为处理的一部分,我想确保流以某些字节集开头(如果不是,我需要以不同的方式处理它)。如果类型错误,我想避免将整个文件读入内存。
所以我正在寻找一种倒带流的方法,或者一种在不移动读取指针的情况下“查看”即将到来的字节的方法。如果这是使用 URL 创建的 NSInputStream,我可以在 NSStreamFileCurrentOffsetKey 上使用 setProperty:forKey: ,但奇怪的是,这不适用于从 NSData 创建的 NSInputStream (即使您认为这比文件版本更容易实现) )。我也无法关闭并重新打开 steam 来重置输入指针(NSStream 明确不允许这样做)。
我可以使用仅 NSData 接口(interface)和 -initWithContentsOfMappedFile 来解决这个问题,但如果可以的话,我宁愿继续使用 NSStream 方法。
最佳答案
我想我有些不明白。 NSInputStream 可以从三个地方获取数据:套接字、NSData 对象或文件。您还没有说过要使用套接字,因此将其他两个作为数据源。另外, NSStream 的文档说只有基于文件的流是可查找的。 (NSStream,概述,第三段)
鉴于此,我认为 NSData 对象将是更好的选择。 NSData 对象将处理文件和字节(我认为这就是内存中数据的含义)。但是您考虑了这一点并说您更愿意坚持使用流。这里还有其他考虑吗?
(编辑)抱歉,我应该把这个作为一个真正的答案。我对您所描述的问题的回答是,使用 NSData 确实是正确的做法。
如果您更喜欢不同的答案,请提供更多详细信息。
关于cocoa - 基于 NSData 倒回 NSInputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2230461/
我正在尝试将输入流转换为字符串。我尝试转换的输入流是 NSURLRequest.HTTPBodyStream,显然 httpbody 设置为 null 并在您发出请求后替换为流。我该怎么做呢?这是我目
我在使用 NSInputStream 时遇到问题。我有连接到服务器的客户端应用程序,然后服务器将开始通过 TCP 每秒大约 1 条消息重复向我的客户端应用程序发送消息。服务器只是向客户端广播消息,消息
我正在尝试创建一个简单的iPhone应用程序,它可以与服务器通信(目前正在我的计算机上运行并且工作正常)。我一直在尝试使用 NSStream 类,但遇到了很多问题。我真的只是想使用流来模拟 telne
是否有办法查看 nsinputstream 中的值,例如将其转换为字符串? 最佳答案 我假设您指的是从 NSInputStream 返回的数据: - (NSInteger)read:(uint8_t
我的应用程序使用 NSInputStream,如下所示: inputStream.delegate = self; [inputStream scheduleInRunLoop:[NSRunLoop
在我的应用程序中,我使用 NSStreams 进行客户端服务器通信。在事件 hasbytesAvailable 的 delegate 方法中,当我读取数据时返回 null 案例:当长度为4096时读取
当我从服务器接收数据时出现错误(数据只是字符串)。 例如 服务器发送数据(15000字节) 我的 iPhone 收到数据(7878 字节) 所以我尝试搜索,我知道方法是答案。 但我无法应用我的代码..
我正在尝试使用 NSInputStream 通过 TCP 套接字连接接收数据。在服务器端,我先发送数据大小,然后再发送数据本身。在 iOS 客户端,我需要从 NSInputStream 中提取前 4
请帮助我,我快疯了。我需要创建一个 NSInputStream,这样我就可以通过 wifi 从摄像头读取实时预览。liveViewStream 是一个 NSInputStream-Instance-V
我正在将一个 java 客户端移植到 iphone,我一直在想是否有一个围绕 NSInputStream 的包装器来从停止在指定分隔符处的流中读取字符串?我正在考虑类似 Javas Scanner 类
我想向 NSInputStream 添加三个“部分”:一个 NSString,另一个流的输出,然后是另一个 NSString。思路如下: 第一个和最后一个 NSString 代表 SOAP 请求的开始
全部, 我有一台服务器,它有一个用于通信的 TCP 套接字流。我需要访问该流并读取它需要发送给我的初始数据。 我目前的代码如下。老实说,我对此完全视而不见。我不确定这是否正确,更不用说适合这项工作了。
我正在尝试通过 NSInputStream 从我的文档目录中读取自定义文件,以将其上传到 FTP 服务器。我使用的代码与 SimpleFTPSample 中演示的代码完全相同由苹果公司提供。只要文件为
嘿伙计们,我正在从网络服务器上下载一个 yaml 文件。我的 NSInputStream 与本地 yaml 文件配合得很好(使用 file://filename.yaml url 方案) 以下是相关代
我正在尝试打断 [NSOutputstream write] 当连接丢失时。 但是,即使我使用 关闭流,它似乎仍然继续阻塞 [NSOutputstream close]. 我想要实现的只是在服务器连接
我需要使用 Windows 1252 编码将图像流式传输到 .NET 后端服务。所以我相信我需要创建一个 NSURLRequest 并将其 HTTPBodyStream 设置为使用图像数据创建的 NS
我有 openssl 服务器和 Objective-C 客户端。我这样发消息 uint32_t testD = 161; err = SSL_write(ssl_, &testD, sizeof(ui
我正在从服务器按顺序获取 NSData block ,超过大约。 4096 字节,按顺序。每个接收到的 block 的大小可能不同。 我想做的是将所有这些字节附加到某处,同时从数据的开头开始读取,顺序
我在一个文件中有 100 MB 的数据。这 100 mb 数据将被虚拟地划分。即,我需要创建一个指向不同 5MB block 的 NSInputStream。这可以通过使用 NSData 创建流来实现
我想将 NSInputStream 传递给 MPMoviePlayerController、MPMoviePlayerViewController 或其他任何东西。 输入流利用了 Apple 框架不支
我是一名优秀的程序员,十分优秀!