Fayl tizimi


ULASHISH

Fayl tizimi

FileManager, hujjatlar kataloglari va ma’lumotlarni o‘qish/yozish API’lari yordamida ilova sandbox’i bilan ishlang.


Kataloglarni topish

Documents va Caches papkalarini topish uchun FileManager dan foydalaning.

Sintaksis: FileManager.default.urls(for:in:), masalan, .documentDirectory, .cachesDirectory

Misol

import Foundation

let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let caches = FileManager.default.urls(for: .cachesDirectory, in: .userDomainMask).first!
print("Docs:", docs)
print("Caches:", caches)
import SwiftUI

struct ContentView: View {
  var body: some View {
    Text("Locate Directories")
      .padding()
  }
}
import SwiftUI

@main
struct MyApp: App {
  var body: some Scene {
    WindowGroup { ContentView() }
  }
}

Misolni ishga tushirish »

Ushbu misol sandbox ichidagi Documents va Caches kataloglarini topadi.


O‘qish va yozish

Data va String API’lari yordamida matn yoki binar ma’lumotlarni yozing va o‘qing.

Sintaksis:

  • try data.write(to: url)
  • let data = try Data(contentsOf: url)
  • try text.write(to: url, atomically:encoding:)

Misol

import Foundation

let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let file = docs.appendingPathComponent("hello.txt")

// Write text
let text = "Hello files!"
try? text.write(to: file, atomically: true, encoding: .utf8)

// Read text
let loaded = try? String(contentsOf: file, encoding: .utf8)
print(loaded ?? "")
import SwiftUI

struct ContentView: View {
  var body: some View {
    Text("Read & Write Files")
      .padding()
  }
}
import SwiftUI

@main
struct MyApp: App {
  var body: some Scene {
    WindowGroup { ContentView() }
  }
}

Misolni ishga tushirish »

Ushbu misol Documents ichida matnli fayl yozadi va uni qayta o‘qiydi.



Yaratish va o‘chirish

Papkalarni createDirectory bilan yarating va elementlarni removeItem bilan o‘chiring.

Sintaksis:

  • try FileManager.default.createDirectory(at:withIntermediateDirectories:)
  • try FileManager.default.removeItem(at:)

Misol

import Foundation

let docs = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let folder = docs.appendingPathComponent("Temp")
try? FileManager.default.createDirectory(at: folder, withIntermediateDirectories: true)
try? FileManager.default.removeItem(at: folder)
import SwiftUI

struct ContentView: View {
  var body: some View {
    Text("Create and Remove Entries")
      .padding()
  }
}
import SwiftUI

@main
struct MyApp: App {
  var body: some Scene {
    WindowGroup { ContentView() }
  }
}

Misolni ishga tushirish »

Ushbu misol Documents katalogida ichki papka yaratadi, so‘ng uni o‘chiradi.

Maslahat: Foydalanuvchi hujjatlarini Documents katalogida saqlang; vaqtinchalik ma’lumotlarni Caches’da keshlang.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!