Mac
iOS
Swift

Swiftでのファイル操作

Swiftでのファイル操作についてまとめました。

環境

macOS High Sierra (10.13.2)
Xcode 9.2
Swift 4.0
App Sandbox:OFF

Documentsフォルダのファイルを取得

Documentsフォルダにある data.txt のフルパスを取得する

if let dir = FileManager.default.urls( for: .documentDirectory, in: .userDomainMask ).first {

   let filePath = dir.appendingPathComponent( "data.txt" )
   let path:String = filePath.path
   print(path)

}

アプリにバンドルされているファイルを取得

アプリにバンドルされている data.txt のフルパスを取得する

if let path = Bundle.main.path( forResource: "data", ofType: "txt" ) {

    print(path)

}

ファイルの存在確認

data.txt が存在するか確認する。

if( FileManager.default.fileExists( atPath: "data.txt" ) ) {

    print("ファイルあり")

} else {

    print("ファイルなし")

}

ファイルのコピー

data1.txtdata2.txt にコピーする。

do {

    try FileManager.default.copyItem( atPath: "data1.txt", toPath: "data2.txt" )

} catch {

    //エラー処理
    print("error")

}

ファイル名の変更(ファイルの移動)

ファイル名を data1.txt から data2.txt に変更する。

do {

    try FileManager.default.moveItem( atPath: "data1.txt", toPath: "data2.txt" )

} catch {

    //エラー処理    
    print("error")

}

ファイルの削除

data.txt を削除する。

do {

    try FileManager.default.removeItem( atPath: "data.txt" )

} catch {

    //エラー処理
    print("error")

}

フォルダの作成

test フォルダを作成する。

do {

    try FileManager.default.createDirectory( atPath: "test", withIntermediateDirectories: true, attributes: nil)

} catch {

    //エラー処理
    print("error")

}

フォルダの削除

test フォルダを削除する。

do {

    try FileManager.default.removeItem( atPath: "test" )

} catch {

    //エラー処理
    print("error")

}

関連付けられているアプリケーションで開く

data.txt を関連付けられているアプリケーションで開く。(動作には、import AppKit が必要です。)

if NSWorkspace.shared.openFile( "data.txt" ) {

    print("OK")

} else {

    print("Error")

}