テキストファイル入出力
テキストファイルからデータを読み込んだり、書き込んだりする基本的な方法です。ファイルに保存してあるイベントデータを読み込んだり、ゲームのスコアをファイルに記録したりする場合に使います。
サンプルは読み込みボタンを押すとtest.txtからデータを読み込んでテキストエリアに表示します。テキストエリアでテキストを修正して書き込みボタンを押すとtest.txtにデータを保存されます。
テキストファイルの読み込み
テキストファイルがJARファイルの外にあるか中にあるかでファイル指定の方法が少し変わります。まずは、JARファイルの外にテキストファイルがある場合です。
try { // test.txtからファイルを読み込んでテキストエリアに表示 BufferedReader br = new BufferedReader( new FileReader("test.txt")); // ファイルを開く String line; while ((line = br.readLine()) != null) { // 1行ずつ読み込む // 読み込んだ1行をテキストエリアに表示 textArea.append(line + "\n"); } br.close(); // ファイルを閉じる } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); }
このサイトでもそうですが、普通ゲームを配布するときはテキストデータ、画像データ、音楽データなどはJARファイル内にまとめて圧縮すると思います。JARファイル内にあるテキストデータからデータを読み込むときは下のようにします。
BufferedReader br = new BufferedReader( new InputStreamReader( getClass().getResourceAsStream("test.txt")));
テキストファイルの書き込み
JARファイル外のテキストファイルにデータを書き込む方法です。たぶん、JARファイル内のファイルに書き込む方法はないと思われます。
try { // test.txtにテキストエリアの内容を書き込む BufferedWriter bw = new BufferedWriter( new FileWriter("test.txt")); // ファイルを開く bw.write(textArea.getText()); bw.close(); } catch (IOException ex) { ex.printStackTrace(); }