Swift Academy · Pelajaran

Mengurus Direktori

Cipta, senaraikan dan buang direktori.

Pelajaran 3 daripada 413 langkah

Mengurus Direktori ialah pelajaran Swift Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Swift Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Mengurus Direktori

FileManager ialah objek pusat untuk mencipta, menyenaraikan, memindahkan dan memadam fail serta direktori.

FileManager Dikongsi

Gunakan FileManager.default untuk kebanyakan operasi. Ia menyediakan instans dikongsi yang selamat untuk utas.

import Foundation

let fm = FileManager.default
print("Got the default file manager")

Mencipta Direktori

createDirectory(at:withIntermediateDirectories:) mencipta direktori, dan secara pilihan turut mencipta semua direktori induk yang tiada.

import Foundation

let fm = FileManager.default
let dir = URL(fileURLWithPath: "/tmp/myapp/cache")
try? fm.createDirectory(at: dir, withIntermediateDirectories: true)
print("Directory created")

Menyemak Kewujudan

fileExists(atPath:) melaporkan sama ada sesuatu laluan wujud, dan bendera masukan-keluaran memberitahu anda sama ada laluan itu ialah direktori.

import Foundation

let fm = FileManager.default
var isDir: ObjCBool = false
let exists = fm.fileExists(atPath: "/tmp", isDirectory: &isDir)
print("Exists: \(exists), isDir: \(isDir.boolValue)")

Menyenaraikan Kandungan

contentsOfDirectory(at:includingPropertiesForKeys:) mengembalikan URL yang terdapat dalam sesuatu direktori.

import Foundation

let fm = FileManager.default
let dir = URL(fileURLWithPath: "/tmp")
if let items = try? fm.contentsOfDirectory(at: dir, includingPropertiesForKeys: nil) {
    print("Item count: \(items.count)")
}

Menyenaraikan Nama Sahaja

contentsOfDirectory(atPath:) berasaskan laluan mengembalikan rentetan nama fail biasa apabila anda tidak memerlukan URL penuh.

import Foundation

let fm = FileManager.default
if let names = try? fm.contentsOfDirectory(atPath: "/tmp") {
    print("Names count: \(names.count)")
}

Mengalih Keluar Item

removeItem(at:) memadam fail atau keseluruhan pepohon direktori. Gunakannya dengan berhati-hati.

import Foundation

let fm = FileManager.default
let url = URL(fileURLWithPath: "/tmp/myapp/cache/old.txt")
try? fm.removeItem(at: url)
print("Removed item if it existed")

Memindahkan dan Menamakan Semula

moveItem(at:to:) memindahkan atau menamakan semula; copyItem(at:to:) menduplikasi fail.

import Foundation

let fm = FileManager.default
let src = URL(fileURLWithPath: "/tmp/a.txt")
let dst = URL(fileURLWithPath: "/tmp/b.txt")
try? fm.moveItem(at: src, to: dst)
print("Moved if source existed")

Menelusuri Secara Mendalam

FileManager.DirectoryEnumerator menelusuri keseluruhan subpepohon secara rekursif dan menghasilkan setiap URL bersarang.

import Foundation

let fm = FileManager.default
let root = URL(fileURLWithPath: "/tmp")
if let e = fm.enumerator(at: root, includingPropertiesForKeys: nil) {
    var count = 0
    for case _ as URL in e { count += 1; if count > 5 { break } }
    print("Walked some entries: \(count)")
}

Atribut Fail

attributesOfItem(atPath:) mengembalikan metadata seperti saiz dan tarikh pengubahsuaian dalam kamus.

import Foundation

let fm = FileManager.default
if let attrs = try? fm.attributesOfItem(atPath: "/tmp"),
   let size = attrs[.size] {
    print("Has size attribute: \(size)")
}

Mengendalikan Kegagalan

Operasi direktori menghasilkan ralat apabila berlaku masalah kebenaran atau laluan tiada. Bungkusnya dalam do/catch supaya anda dapat bertindak balas dengan baik.

import Foundation

let fm = FileManager.default
do {
    try fm.removeItem(at: URL(fileURLWithPath: "/no/such/file"))
} catch {
    print("Remove failed: \(error.localizedDescription)")
}

Semakan Pantas

Apakah pilihan yang membuatkan createDirectory turut mencipta folder induk yang tiada?

Rumusan

FileManager.default mencipta folder dengan createDirectory, menyemak dengan fileExists, menyenaraikan dengan contentsOfDirectory, memadam dengan removeItem, serta memindahkan atau menyalin item. Anda juga telah menelusuri subpepohon dan membaca atribut. Seterusnya: direktori kotak pasir aplikasi.

Percuma untuk bermula

Pelajari Swift dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
122
Pelajaran
409

Soalan Lazim

Adakah pelajaran “Mengurus Direktori” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Swift Academy, termasuk “Mengurus Direktori”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Mengurus Direktori”?

Cipta, senaraikan dan buang direktori. Anda berlatih Swift Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Swift Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Swift Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Mengurus Direktori” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. URL dan Laluan Fail
  2. Membaca dan Menulis Data
  3. Mengurus Direktori
  4. Direktori Kotak Pasir Aplikasi
← Kembali ke Swift Academy