如何使用NSFilehandler读取丰富内容文件中的数据

时间:2016-02-14 11:37:52

标签: ios objective-c swift pdf

这是我简化的快速代码:

func readContent(url:NSURL!){




    do {
        let file: NSFileHandle? = try NSFileHandle(forReadingFromURL: url)
        if (file  != nil){
            file?.seekToFileOffset(10)
           let content=file!.readDataOfLength(5)


            print(String(data: content, encoding: NSASCIIStringEncoding))

            file!.closeFile()


        }

                }catch {


    }



}

我正在构建一个可以读取文本文件和pdf的文件阅读器。我正在使用NSFileHandler,因为我需要跟踪读数发生的位置。

我能够毫无问题地阅读文本文件。但是对于pdfs,我有两个问题:

  1. 如何获取用于加载pdf的编码类型?例如, NSASCIIStringEncoding 对文本文件无效,但对pdf文件无效。我变得很奇怪。我想象有一种检测编码的方法。我一直关注https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/Introduction/Introduction.html,但我没有找到任何解决堆栈溢出问题的方法。
  2. 鉴于pdfs可能包含文本,图像和视频,我如何在阅读时识别这些内容..我读到魔术数字可能会这样做https://en.wikipedia.org/wiki/Magic_number_(programming)#Magic_numbers_in_files但我读到不可行{{3} }。另外,我还没有找到如何使用它们的指南。
  3. 请注意,在阅读时跟踪偏移非常重要。

0 个答案:

没有答案