1

そのため、スキャナーを使用してファイルを読み込もうとしていますが、ファイルのすべての内容が消去され、何も読み取れません。Main メソッドで連続して実行したメソッドは次のとおりです。

private static Scanner x;
private static Formatter y;

public void openMainFile(String name){
    try{
        x = new Scanner(new File("main.mcmm");
        y = new Formatter("main.mcmm");
    }catch(Exception e){
        GUI.error(2);
    }
}

このメソッドは完全に正常に動作します

public void readModMainFile(){
    while(x.hasNext()){
        Main.name = x.next();
        Main.ver = x.nextFloat();
        Main.base = x.nextBoolean();
        Main.dev = x.next();
        Main.date = x.next();
    }
}

このメソッドの実行後、ファイルは空になり、「Main.-」変数には値がありません。

4

2 に答える 2

1

読み取りと書き込みのために同じファイルを同時に開かないでください。最初に一時ファイルに書き込み、次に名前を変更します。または、最初にファイル全体を読み取り、すべてを保存してから閉じてScannerから、ファイルを上書きすることもできます。

于 2012-11-23T21:25:22.763 に答える