Mojangより配信されているMinecraft: Pocket EditionのModについて包括的に扱うwikiです。

×

ファイル操作とは?

私達が遊んでいるワールドデータも、全てファイル操作されています。
言葉だけでは難しそうに聞こえるかもしれませんが、要するにファイル操作というのは【セーブ/ロード】に関する事を指しているのです。

ファイル操作で出来ること

ファイル操作では主に、【生成】・【書込】・【読取】・【削除】の4つが出来るようになっています。
例えば変数は強制終了の時には破棄されてしまいますが、ファイルに書き込んでおけば変数を保持する事が出来ます。
このように上手く使いこなせば有用な技術となるでしょう。


ファイル操作 〜ファイル・ディレクトリの生成と削除〜

【ファイル生成】はファイル操作の中でも基本となるファイル操作です。
まずは例1のコードを見てみてください。

後ほどこのコードで説明していきたいと思います。

(例1)games/com.mojang/Test.txtを生成する。

Fileクラス

Javaには数多くのAPIが存在します。
その中のjava.ioパッケージはファイル操作関連のAPIばかり入っています。

その中で元のベースになるのはjava.io.Fileクラスです。
java.ioパッケージ内の機能は必ずjava.io.Fileクラスを使うといっても過言ではありません。

Fileクラスはファイルもしくはディレクトリのパスを引数に取ることが多く、ioパッケージの中でも一番使用されるクラスだと言えます。

Fileクラスのメソッド

そのFileクラスの中でも圧倒的に使われる頻度が高いものは表1の5つだと思います。

(表1)


つまりファイルもしくはディレクトリの生成をしたい場合には、
try {
	new java.io.File("<ファイルパス>").createNewFile();
	new java.io.File("<ディレクトリパス>").mkdir();
} catch (Error) {
	
}
で出来るという事です。

そして削除したい場合は、
try {
	new java.io.File("<ファイル・ディレクトリパス>").delete();
} catch (Error) {
	
}
という数行のコードだけで出来るのです。

ファイル操作 〜ファイルの書き込み〜

「書き込みあく(ノシ´・ω・)ノシバンバン」といった方もいらっしゃると思います。
そこで例2のコードを見てみてください。

例のごとく後ほどこのコードで説明していきたいと思います。

(例2)games/com.mojang/Test.txtを生成して≪Minecraftは最高≫と書き込む。

FileWriterクラス

FileWriterクラスは大変使い勝手が良いため、書き込み処理によく使われるものになっています。
書き込み処理をするためのクラスは他にも幾つか存在しますが、大体のものがこのFileWriterクラスを使用しています。

BufferedWriterクラス

FileWriterクラスをそのまま使用しても良いですが、とても不便な使い方をしなければいけません。
そこで、BufferedWriterクラスの引数に取ってしまいましょう。

BufferedWriterクラスはFileWriterクラスと違い、一括書き込みが可能になります。
そのためBufferedWriterで包むのが一般的になっています。

BufferedWriterクラスのメソッド

そのBufferedWriterクラスの中のメソッドを表2に一部抜粋しました。

(表2)


特に注意したいのが、最後にストリームをcloseメソッドで閉じないと正常に書き込み処理が行われません。
これはよくあるミスですので注意して取り扱ってください。

ファイル操作 〜ファイルの読み込み〜

「書き込めたから読み込ませろよぉぉぉ!」という方、お待たせいたしました。
という訳で例3のコードを見て下さい。

案の定後からこのコードで説明していきたいと思います。

(例3)games/com.mojang/Test.txtの内容を読み取る

FileReaderクラス

FileReaderクラスもまた、FileWriterクラスと同じように使い勝手が良く多用されています。
FileWriterクラス・FileReaderクラスの使い方を知れば、簡単に書き込み・読み込みが出来るようになります。

BufferedReaderクラス

FileReaderクラスもそのままでは効率的ではないですので、BufferedReaderクラスに包んでしまいましょう。
これもまた一括読み込みが可能ですので、覚えておきましょう。

BufferedReaderクラスのメソッド

そのBufferedReaderクラスのメソッドを表3に一部抜粋しました。

(表3)


これもBufferedWriterクラスと同じように、必ずcloseメソッドで閉じてくださいね。

コメントをかく


利用規約をご確認のうえご記入下さい

WIKi内検索

メンバーのみ編集できます

広告募集中

メンバー募集!