概要
ずっと書こうと思って放置していたツールを書くために、Swiftでファイルを読み込む処理について調べたので、サンプルコードを残しておく。
サンプルコード
Playgroundで書いたのでうっかりファイルを削除してもいいように、Gistにあげた。
A sample file loading process using swift.
InputStream
を使った新しめのサンプルコードがなくて、Appleのドキュメントを読んだり、Stackoverflowのコードを継ぎ接ぎしたりしたので、最適なコードにはなっていない可能性が高い。
また、サンプルコードの最後に実行時間を貼っておいた。
想定していた通り、 Data(contentOf:)
で一気にファイルを読み込むより、InputStream
で指定バイト数分ずつ読み込むほうが処理時間は短くすみそうだ
参考
https://developer.apple.com/documentation/foundation/data https://developer.apple.com/documentation/foundation/stream https://stackoverflow.com/questions/26360962/receiving-data-from-nsinputstream-in-swift https://stackoverflow.com/questions/6685785/stream-to-get-data-nsinputstream