Difference between revisions of "love.filesystem (日本語)"

m
(Updated to 28313.)
 
(2 intermediate revisions by the same user not shown)
Line 18: Line 18:
 
     |<code>C:\Documents and Settings\user\Application Data\LOVE\</code>
 
     |<code>C:\Documents and Settings\user\Application Data\LOVE\</code>
 
     |<code>%appdata%\LOVE\</code>
 
     |<code>%appdata%\LOVE\</code>
     |結合型実行形式 (fused) で動作時、セーブディレクトリは <code>LOVE</code> のサブディレクトリではなく <code>Application Data</code> へ作成します。
+
     |[[love.filesystem.isFused|結合型実行形式 (fused)]] で動作時、セーブディレクトリは <code>LOVE</code> のサブディレクトリではなく <code>Application Data</code> へ作成します。
 
|-
 
|-
     |Windows Vista, 7, 8 および 10
+
     |Windows Vista, 7, 8, 10 および 11
 
     |<code>C:\Users\user\AppData\Roaming\LOVE</code>
 
     |<code>C:\Users\user\AppData\Roaming\LOVE</code>
 
     |<code>%appdata%\LOVE\</code>
 
     |<code>%appdata%\LOVE\</code>
     |結合型実行形式 (fused) で動作時、セーブディレクトリは <code>LOVE</code> のサブディレクトリではなく <code>Application Data</code> へ作成します。
+
     |結合型実行形式 (fused) で動作時、セーブディレクトリは <code>LOVE</code> のサブディレクトリではなく <code>AppData</code> へ作成します。
 
|-
 
|-
 
     |Mac
 
     |Mac
Line 36: Line 36:
 
|-
 
|-
 
     |Android
 
     |Android
    |<code>/data/user/0/org.love2d.android/files/save/</code>
 
 
     |<code>/data/data/org.love2d.android/files/save/</code>
 
     |<code>/data/data/org.love2d.android/files/save/</code>
     |Android では様々なセーブ先があります。これらが動作しない場合は、<code>love.filesystem.getSaveDirectory()</code> を確認のために使用できます。
+
     |<code>/sdcard/Android/data/org.love2d.android/files/save/</code>
 +
    |代替パスは [[Config Files (日本語)#externalstorage|t.externalstorage config]] オプションの有効時に使用します。 Android の制限により、上述のパスの配下にアクセスすることはできません。
 
|}
 
|}
  
書き込みまたは追記を行うためファイルを開いた場合は常にセーブ・ディレクトリに作成されます。同様に mkdir (ディレクトリの作成) などファイルシステムへの書き込みを伴う他の操作でも該当します。
+
書き込みまたは追記を行うためファイルを開いた場合は常にセーブ・ディレクトリに作成されます。同様に createDirectory (ディレクトリの作成) などファイルシステムへの書き込みを伴う他の操作でも該当します。
  
 
ファイルを読み取るために開く場合はセーブ・ディレクトリおよびその後に .love アーカイブを (この順序にて) 検索します。したがって、あるファイル名称(およびパス)を持つファイルがセーブ・ディレクトリおよび .love アーカイブの両方に存在する場合は、セーブ・ディレクトリ優先します。
 
ファイルを読み取るために開く場合はセーブ・ディレクトリおよびその後に .love アーカイブを (この順序にて) 検索します。したがって、あるファイル名称(およびパス)を持つファイルがセーブ・ディレクトリおよび .love アーカイブの両方に存在する場合は、セーブ・ディレクトリ優先します。
Line 48: Line 48:
  
 
最初にゲームの識別子を [[Config Files (日本語)|conf.lua]] で設定することを推奨します。ゲームの識別子は [[love.filesystem.setIdentity (日本語)|love.filesystem.setIdentity]] でも設定できます。
 
最初にゲームの識別子を [[Config Files (日本語)|conf.lua]] で設定することを推奨します。ゲームの識別子は [[love.filesystem.setIdentity (日本語)|love.filesystem.setIdentity]] でも設定できます。
 
{{notice|[[0.10.0 (日本語)|0.10.0]] ~ [[0.10.2 (日本語)|0.10.2]] において Android Marshmallow 以降のバージョンでゲームのセーブディレクトリへの各種処理 (すなわち[[love.filesystem.write (日本語)|書き込み]]) が失敗する[https://bitbucket.org/MartinFelis/love-android-sdl2/issues/132 不具合]があります。回避策は [[Config_Files#externalstorage (日本語)|externalstorage]] の設定を有効にします。}}
 
  
 
== 型 ==
 
== 型 ==

Latest revision as of 03:48, 30 June 2023

利用者のファイルシステムへのインターフェースを提供します。

このモジュールは特定の場所にあるファイルへのアクセスを提供します:

  • .love アーカイブ (またはソースのディレクトリ) のルート・フォルダ。
  • ゲームのセーブ・ディレクトリのルート・フォルダ。
  • ゲームの .love アーカイブ (またはソース・ディレクトリ) のあるフォルダですが、特定の条件を満たしている場合に限ります。

love.filesystem によりゲームごとにシステムへファイルを保存できるディレクトリを提供します。このディレクトリのみ love.filesystem はファイルを書き込めます。これらのディレクトリは主にこのようものとして見つかります:

OS パス 別の場所 注釈
Windows XP C:\Documents and Settings\user\Application Data\LOVE\ %appdata%\LOVE\ 結合型実行形式 (fused) で動作時、セーブディレクトリは LOVE のサブディレクトリではなく Application Data へ作成します。
Windows Vista, 7, 8, 10 および 11 C:\Users\user\AppData\Roaming\LOVE %appdata%\LOVE\ 結合型実行形式 (fused) で動作時、セーブディレクトリは LOVE のサブディレクトリではなく AppData へ作成します。
Mac /Users/user/Library/Application Support/LOVE/ - -
Linux $XDG_DATA_HOME/love/ ~/.local/share/love/ -
Android /data/data/org.love2d.android/files/save/ /sdcard/Android/data/org.love2d.android/files/save/ 代替パスは t.externalstorage config オプションの有効時に使用します。 Android の制限により、上述のパスの配下にアクセスすることはできません。

書き込みまたは追記を行うためファイルを開いた場合は常にセーブ・ディレクトリに作成されます。同様に createDirectory (ディレクトリの作成) などファイルシステムへの書き込みを伴う他の操作でも該当します。

ファイルを読み取るために開く場合はセーブ・ディレクトリおよびその後に .love アーカイブを (この順序にて) 検索します。したがって、あるファイル名称(およびパス)を持つファイルがセーブ・ディレクトリおよび .love アーカイブの両方に存在する場合は、セーブ・ディレクトリ優先します。

注釈: 全てのパスは .love アーカイブおよびセーブ・ディレクトリからの相対パスです(get*Directory() の呼び出しを除く)。

最初にゲームの識別子を conf.lua で設定することを推奨します。ゲームの識別子は love.filesystem.setIdentity でも設定できます。

DroppedFile (日本語) ウィンドウからドロップされたファイルを意味します。 Added since 0.10.0
File (日本語) ファイルシステムにあるファイルを提供します。
FileData (日本語) ファイルの内容を Data として提供します。 Added since 0.7.0

関数

love.filesystem.append (日本語) 既存ファイルへデータを追記します。 Added since 0.9.0
love.filesystem.areSymlinksEnabled (日本語) love.filesystem がシンボリック・リンクを辿るかどうかを取得します。 Added since 0.9.2
love.filesystem.createDirectory (日本語) ディレクトリを再帰的に作成します。 Added since 0.9.0
love.filesystem.enumerate (日本語) ディレクトリにある全てのファイルおよびサブディレクトリを返します。 Added since 0.3.0 Removed in 0.9.0
love.filesystem.exists (日本語) ファイルまたはディレクトリの存在を確認します。 Deprecated in 11.0
love.filesystem.getAppdataDirectory (日本語) アプリケーションのデータディレクトリを返します (getUserDirectory と同じ場合があります)
love.filesystem.getCRequirePath (日本語) require が呼び出されたときに C ライブラリを検索するためのファイルシステムのパスを取得します。 Added since 11.0
love.filesystem.getDirectoryItems (日本語) ディレクトリにある全てのファイルおよびサブディレクトリを返します。 Added since 0.9.0
love.filesystem.getIdentity (日本語) ゲームの書き込み先のディレクトリ名を取得します。 Added since 0.9.0
love.filesystem.getInfo (日本語) 指定されたファイル、またはディレクトリに関する情報を取得します。 Added since 11.0
love.filesystem.getLastModified (日本語) ファイルの最終更新時刻を取得します。 Added since 0.7.1 Deprecated in 11.0
love.filesystem.getRealDirectory (日本語) ファイルパスがあるディレクトリの絶対パスを取得します。 Added since 0.9.2
love.filesystem.getRequirePath (日本語) require が呼ばれた時に検索されるファイルシステムのパスを取得します。 Added since 0.10.0
love.filesystem.getSaveDirectory (日本語) 明示されたセーブ・ディレクトリのフルパスを取得します。 Added since 0.5.0
love.filesystem.getSize (日本語) ファイルの大きさをバイトで取得します。 Added since 0.9.0 Deprecated in 11.0
love.filesystem.getSourceBaseDirectory (日本語) .love ファイルのあるディレクトリのフルパスを返します。 Added since 0.9.0
love.filesystem.getUserDirectory (日本語) 利用者のディレクトリのパスを返します。
love.filesystem.getWorkingDirectory (日本語) 現在の作業ディレクトリを取得します。 Added since 0.5.0
love.filesystem.init (日本語) love.filesystem を初期化しますが、これはシステム内部で呼ばれるものであるため、明示的に使用しないでください。
love.filesystem.isDirectory (日本語) 対象がディレクトリかどうか確認します。 Deprecated in 11.0
love.filesystem.isFile (日本語) 対象がファイルかどうか確認します。 Deprecated in 11.0
love.filesystem.isFused (日本語) 結合型実行形式で動作しているゲームであるかどうかを取得します。 Added since 0.9.0
love.filesystem.isSymlink (日本語) ファイルパスが本当にシンボリック・リンクであるかどうかを取得します。 Added since 0.9.2 Deprecated in 11.0
love.filesystem.lines (日本語) ファイルの最終行までイテレート(反復)します。
love.filesystem.load (日本語) lua ファイルを読み込みます (が実行はしません)。
love.filesystem.mkdir (日本語) 再帰的にディレクトリを作成します。 Removed in 0.9.0
love.filesystem.mount (日本語) ゲームのセーブ・ディレクトリで読み取るために zip ファイルまたはフォルダをマウント(装着)します。 Added since 0.9.0
love.filesystem.newFile (日本語) File オブジェクトを新規作成します。
love.filesystem.newFileData (日本語) FileData オブジェクトを新規作成します。 Added since 0.7.0
love.filesystem.read (日本語) ファイルの内容を読み込みます。
love.filesystem.remove (日本語) ファイルを削除します (またはディレクトリ)。
love.filesystem.setCRequirePath (日本語) require が呼び出されたときに C ライブラリを検索するためのファイルシステムのパスを設定します。 Added since 11.0
love.filesystem.setIdentity (日本語) ゲームの書き込み先ディレクトリを設定します。
love.filesystem.setRequirePath (日本語) require が呼ばれた時に検索されるファイルシステムのパスを設定します。 Added since 0.10.0
love.filesystem.setSource (日本語) ゲームのソースとして、どこにコードが存在するのかを設定します。
love.filesystem.setSymlinksEnabled (日本語) love.filesystem がシンボリック・リンクを辿るように設定します。 Added since 0.9.2
love.filesystem.unmount (日本語) 以前に love.filesystem.mount で読み取るためにマウントした zip ファイルまたはフォルダをアンマウント(脱着)します。 Added since 0.9.0
love.filesystem.write (日本語) ファイルへデータを書き込みます。

列挙型

FileDecoder (日本語) FileData の復号化方法を指定します。 Added since 0.7.0
FileMode (日本語) 様々なモードでファイルを開くことができるようにします。
FileType (日本語) ファイルの種類。 Added since 11.0

関連

そのほかの言語