ユーザーが作成できるレベルをローカルマシンに保存するJavaアプレット/アプリケーションゲームを作成しました。アプリケーションまたはアプレットとして実行できるため、アプレット/アプリケーションと言います。現在、私はこれを使用してファイルを作成しています。
BufferedWriter bf = new BufferedWriter(new FileWriter("Circles/levels/level.txt"));
for (int i = 0; i < lines.size(); i++) {
bf.write(lines.get(i));
bf.newLine();
}
linesは、ファイルに書き込む行を含む配列リストです。
と
FileReader fr = new FileReader("Circles/levels/level.txt");
BufferedReader bf = new BufferedReader(fr);
lines = new ArrayList<String>();
while (true) {
String line = bf.readLine();
if (line == null) {
break;
}
lines.add(line);
}
bf.close();
ファイルを読み取ります。それらはtry/catchループに囲まれています、私は私がしなければならないことを示しているだけです。
これは問題なく動作しますが、オペレーティングシステムごとにまったく異なる場所にあるようで、アプリケーションはアプレットとは異なる場所に保存されます。
Javaプログラムをどこから実行しても変わらないレベルを保存する場所への絶対パスを取得する方法が欲しいのですが、アプリケーションとしてもアプレットとしても同じです。また、これがすべてのオペレーティングシステム(Linux、Windows、Mac)で機能するようにすると便利です。