确定Swift中路径字符串的文件类型

时间:2015-07-09 02:43:31

标签: ios swift

我需要根据我在字符串中获取的文件名来确定文件的文件类型。所以我决定获取字符串的最后三个字符来决定它是什么文件类型。如何获取String中的最后三个字符。例如

var fileName = "test.pdf"

我需要单独使用 pdf 还有其他更好的方法来检查除此之外的文件类型。也请建议我。因为我认为,我能够识别文件类型是否包含四个字符,如" jpeg" 和其他内容。提前谢谢。

4 个答案:

答案 0 :(得分:10)

我认为你在寻找:

字符串的路径扩展名(如果有)被解释为路径。 (只读) 声明

夫特

var pathExtension: String { get }

讨论

路径扩展是最后一个路径组件的一部分(如果有的话)。扩展分隔符不包括在内。下表说明了pathExtension对各种不同路径的影响:

接收者的字符串值

返回字符串

“/ tmp / scratch.tiff”“tiff”

示例:

file.pathExtension

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/index.html#//apple_ref/occ/instm/NSString/pathExtension

答案 1 :(得分:6)

let filename: String = "test.pdf"
let pathExtention = filename.pathExtension

答案 2 :(得分:5)

自Swift 2.x起,pathExtension类不再使用String

您可以转而投放到NSString并执行:

let filename = "test.pdf"
let extension = (filename as NSString).pathExtension

答案 3 :(得分:0)

下载This File from DropBox 添加到您的项目中并像这样使用

if let fileURL = URL(string: newURL){
        let fileUTI = UTI(withExtension: fileURL.pathExtension)
        switch fileUTI {
        case .pdf:
            print("add PDF Options")
            self.selecteFileMemeTyp = fileUTI.mimeType!
            self.addAllPDFOptions()
        case .jpeg:
            print("add jpg Options")
        case .png:
            print("add png Options")
        case .tiff:
            print("add tiff Options")
        case .gif:
            print("add gif options")
        case .spreadsheet:
            print("add excel Options")
        case .html:
            print("add html options")
        case .zipArchive:
            print("add zip Options")
            break
        case .docx , .doc:
            print("add dox options")
        default:
            print("default")
        } }