获取iphone中文件内容的大小

发布于 2024-11-09 02:40:47 字数 388 浏览 0 评论 0原文

我正在为 iphone 编写一个应用程序,以使用 NSData 读取文本文件。

NSFileHandle *fileRead;

// this may lead to crash or memory issue, if the file size is about 10 mb or more

NSData *data =   [fileRead readDataOfLength:(entire contents of the file)]; 

例如,如果文件大小为 8 kb,我们可以分 8 次迭代读取它,每个周期 1kb。

在读取文件之前,我们怎样才能知道文件内容的大小,以便我们能够以优化的方式编写代码来有效地读取文件呢?

请给我你的建议......

Am writing an application for iphone to read a text file using NSData.

NSFileHandle *fileRead;

// this may lead to crash or memory issue, if the file size is about 10 mb or more

NSData *data =   [fileRead readDataOfLength:(entire contents of the file)]; 

For example, if the file size is 8 kb, we can reading it in 8 iterations by 1kb per cycle.

Before reading the file, how can we find the size of the file contents.so that we can write the code in a optimized way to read the file effectively?

plz give me your suggestions....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝礼 2024-11-16 02:40:47

iPhone 具有所有标准 POSIX API,因此您可以使用 stat("file.txt", &st),其中 st 是“struct stat”。 “st.st_size”成员将为您提供文件大小(以字节为单位)。

The iPhone has all of the standard POSIX APIs, so you can use stat("file.txt", &st), where st is a "struct stat". The "st.st_size" member will give you the file size in bytes.

じ违心 2024-11-16 02:40:47

如果您确实想读取整个文件,只需使用 readDataToEndOfFile 即可,而不必担心预先确定长度。

从 NSFileHandle 中,您可以先通过 seekToEndOfFile 然后通过 offsetInFile 找到长度。如果您有实际的文件名,则可以使用 NSFileManager 的 attributesOfItemAtPath:error: 来检索长度(与 C 的 stat 一样)。或者,就此而言,您实际上可以对 NSFileHandle 的 fileDescriptor 方法返回的文件描述符使用 statfstat

If you're really wanting to read the entire file, just use readDataToEndOfFile and don't worry about determining the length beforehand.

From an NSFileHandle, you can find the length by first seekToEndOfFile and then offsetInFile. If you have the actual file name, you could use NSFileManager's attributesOfItemAtPath:error: to retrieve the length (as with C's stat) instead. Or, for that matter, you could actually use stat, or fstat on the file descriptor returned by NSFileHandle's fileDescriptor method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文