【Swift入門】iOSでファイルを作成・書き込み・読み取りする方法を徹底解説
ソフトウェア開発者にとって、ファイル操作は避けて通れない基本スキルの一つです。ファイルへのデータ書き込みや読み取りなど、標準的な操作は確実にマスターしておきたいところですね。
この記事では、実際にファイルを作成し、そこへデータを書き込み、さらにその内容を読み取る方法を、ステップバイステップでわかりやすく解説します。SwiftとXcodeを使った実践的なチュートリアルなので、初めての方でも安心して進められますよ。
手順1:Xcodeプロジェクトを作成する
まずはXcodeを起動し、「New Project」→「Single View Application」を選択して、プロジェクト名を「ReadingWritingFile」として新規作成しましょう。
手順2:ViewController.swiftに関数を追加する
次に「ViewController.swift」を開き、以下のように新しい関数を追加します。
public func createAndWriteFile() {
}ここからは、ファイルを作成してそのパスを出力する処理を追加していきます。
手順3:ファイルを作成してパスを出力する
createAndWriteFile関数の中に、以下のコードを追加してください。FileManagerを使ってドキュメントディレクトリのURLを取得し、「sample.txt」というファイルへのパスを生成しています。
let fileName = "sample"
let documentDirectoryUrl = try! FileManager.default.url(
for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true
)
let fileUrl = documentDirectoryUrl.appendingPathComponent(fileName).appendingPathExtension("txt")
// ファイルパスを出力
print("File path \(fileUrl.path)")続いて、作成したファイルに文字列データを書き込みます。write(to:atomically:encoding:)メソッドを使うことで、UTF-8エンコーディングで安全に書き込みが可能です。エラー処理も忘れずに実装しましょう。
// ファイルに書き込むデータ
let stringData = "Hello Tutorials Point"
do {
try stringData.write(to: fileUrl, atomically: true, encoding: String.Encoding.utf8)
} catch let error as NSError {
print(error)
}手順4:書き込み用の関数を完成させる
ここまでの手順を組み合わせると、createAndWriteFile関数は以下のようになります。
public func createAndWriteFile() {
let fileName = "sample"
let documentDirectoryUrl = try! FileManager.default.url(
for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true
)
let fileUrl = documentDirectoryUrl.appendingPathComponent(fileName).appendingPathExtension("txt")
// ファイルパスを出力
print("File path \(fileUrl.path)")
// ファイルに書き込むデータ
let stringData = "Hello Tutorials Point"
do {
try stringData.write(to: fileUrl, atomically: true, encoding: String.Encoding.utf8)
} catch let error as NSError {
print(error)
}
}手順5:プロジェクトを実行して動作を確認する
viewDidLoad()から新しく作成したメソッドを呼び出して、プロジェクトを実行してみましょう。コンソールに出力されたファイルパスを辿り、ファイルの内容が正しく書き込まれているかを確認してください。
手順6:ファイルの内容を読み取る
最後に、書き込んだデータを読み取る処理を追加します。String(contentsOf:)イニシャライザを使えば、ファイルの内容を簡単に文字列として取得できます。同じ関数内に以下のコードを追加してください。
var readFile = ""
do {
readFile = try String(contentsOf: fileUrl)
} catch let error as NSError {
print(error)
}
print(readFile)これで、ファイルの作成・書き込み・読み取りがすべて完了しました!
手順7:完成した全コード
参考までに、ここまでの手順をすべて含んだ完全なコードを紹介します。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// 追加のセットアップは通常ここで行います。
self.createReadAndWriteFile()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// 再利用可能なリソースは破棄します。
}
// ファイルを作成し、書き込み・読み取りを行う関数
public func createReadAndWriteFile() {
let fileName = "sample"
let documentDirectoryUrl = try! FileManager.default.url(
for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true
)
let fileUrl = documentDirectoryUrl.appendingPathComponent(fileName).appendingPathExtension("txt")
// ファイルパスを出力
print("File path \(fileUrl.path)")
// ファイルに書き込むデータ
let stringData = "Hello Tutorials Point."
do {
try stringData.write(to: fileUrl, atomically: true, encoding: String.Encoding.utf8)
} catch let error as NSError {
print(error)
}
var readFile = ""
do {
readFile = try String(contentsOf: fileUrl)
} catch let error as NSError {
print(error)
}
print(readFile)
}
}このように、FileManagerとStringクラスの標準APIを活用すれば、iOSアプリでのファイル操作はシンプルに実装できます。設定データの保存やログ出力など、さまざまな場面で応用できるので、ぜひマスターしておきましょう。
-
テキストファイルからExcelにデータをインポートする3つの方法
必要なデータがテキストファイルに保存されている場合、そのデータをExcelブックに取り込んで、さまざまな操作や分析を行いたいことがあります。この記事では、テキストファイルからExcelへデータをインポートするための、シンプルかつ効果的な3つの方法をわかりやすく解説します。 説明には、次のようなテキストファイル内のデータをサンプルとして使用します。このデータには、ある会社の営業担当者(Salesman)、製品(Product)、売上(Sales)の情報が含まれています。これらの情報をExcelワークシートに取り込んでいきましょう。 テキストファイルからExcelにデータをインポートする3つの方
-
iOS 13でNFCタグを読み書きする方法|iPhoneでの設定手順をわかりやすく解説
近年のスマートフォンには、端末同士で情報をやり取りできる「NFC」という機能が搭載されています。NFCは「Near Field Communication(近距離無線通信)」の略称で、スマートフォンとの間で情報を送受信できる無線通信技術のことです。 この機能を使えば、製品やサービス、観光名所などに関する情報に瞬時にアクセスできます。デバイスをワイヤレスで接続するには、NFCに対応したスマートタグ、いわゆる「NFCタグ」が必要です。 本記事では、NFCタグの基本知識から、iPhone(iOS 13)を使ったNFCタグの読み書き方法まで、詳しく解説します。 NFCタグとは? NFCタグとは、NFC