0

簡単にするために、FileEditor というクラスを用意しました。

import java.io.FileNotFoundException;
import java.util.*;

public class FileEditor {
public static Formatter projectFile;
public static String modName;

public void overWriteFile(){
    try {
        projectFile = new Formatter(modName+".txt");
        System.out.println("Wrote project file");
    } catch (FileNotFoundException e) {
        System.out.println("Error writing project file");
    }
}
public void addBlock(){
    projectFile.format("blocks "+Blocks.blockName+" "+Blocks.blockDisplayName+" "+Blocks.doesEmitLight+" "+Blocks.lightValue+" "+Blocks.doesGenNaturally+" "+Blocks.genBelowLevel+" "+Blocks.genRariety+" "+Blocks.genClump+" "+Blocks.blockTexturePath);
    projectFile.close();
}
}

ユーザーが最初にプログラムに入ると、overWriteFile メソッドが呼び出され、ファイルが作成されます。次に、ユーザーは別のウィンドウに進み、block.* 変数を定義し、ボタンで actionPerformed が呼び出されたときに addBlock() を呼び出して、現在の変数でファイルをフォーマットしますが、実行しようとするとこれを何度も繰り返すと、コンソール エラーが表示されます...助けてください。

4

2 に答える 2

0

が呼び出されるたびにファイルに追加する場合addBlock()は、そこの行を削除しますprojectFile.close()(または、おそらくさらに良いのは、projectFile.flush().

于 2011-08-30T20:09:45.457 に答える
0

完了するまでフォーマッタを閉じないでください。

于 2011-08-30T20:10:27.593 に答える