gpt4 book ai didi

ios - 无法从 NSInputStream 读取自定义文件

转载 作者:行者123 更新时间:2023-11-29 12:50:11 29 4
gpt4 key购买 nike

我正在尝试通过 NSInputStream 从我的文档目录中读取自定义文件,以将其上传到 FTP 服务器。我使用的代码与 SimpleFTPSample 中演示的代码完全相同由苹果公司提供。只要文件为空,它似乎就可以正常工作,但一旦它包含数据,它就会失败。

这是我的代码。这就是我创建输入流的方式,我尝试了两种方式:

//Approach one: Init with path
self.fileStream = [NSInputStream inputStreamWithFileAtPath:filePath];

//Approach two: Init with data
NSData* fileData = [NSData dataWithContentsOfFile:filePath];
self.fileStream = [NSInputStream inputStreamWithData:fileData];

如果我用数据初始化流,我在流上调用 read 时得到 EXC_BAD_ACCESS (code=1, address=0x0)(下面的代码片段),如果我使用它直接跳转到 File read error 的路径。

文件路径@"/var/mobile/Applications/94292A2A-37FC-4D8E-BDA6-A26963932AE6/Documents/1395576645.cpn", NSData 正确返回并有 806 个字节。

这是 stream:handleEvent: 委托(delegate)方法的一部分:

if (self.bufferOffset == self.bufferLimit) {
NSInteger bytesRead;
bytesRead = [self.fileStream read: self.buffer maxLength: kSendBufferSize];

if (bytesRead == -1) {
if (kPrintsToConsole) NSLog(@"File read error");
} else if (bytesRead == 0) {
[self stopSending];
} else {
self.bufferOffset = 0;
self.bufferLimit = bytesRead;
}
}

我有点卡住了。希望你们能帮助我。运行 iOS 7.1 和 Xcode 5.1

最佳答案

读取前需要调用[self.fileStream open]。对于文件和数据方法。

关于ios - 无法从 NSInputStream 读取自定义文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591068/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com